Tag: asp.net

Web API / OWIN,SignalR和授权

我正在开发AngularJS,Web API,SignalR应用程序的原型,作为VS 2013中新项目的潜在起点。 在这个阶段,我几乎使用visual studio为个人用户帐户生成的预制代码。 StartUp.Auth.cs代码中有一行看起来像这样。 app.UseOAuthBearerTokens(OAuthOptions); 有了这个,我可以将[Authorize]属性添加到控制器,它工作正常。 顺便说一句,使用angular我可以在JavaScript中添加包含令牌的标准头,如下所示。 $http.defaults.headers.common.Authorization = ‘bearer ‘ + access_token; 然后我将SignalR添加到项目中。 它支持自己的[Authorize]属性版本,但在使用SignalR时无法传递自定义标头。 这是浏览器方面的限制。 文档说您可以将令牌作为查询字符串的一部分传递。 我在JavaScript端添加了该代码。 我的SignalR代码现在包含了这个。 我将令牌传递为’bearer_token’。 this.connection = $.hubConnection(“/TestHub”, { useDefaultPath: false, qs: “bearer_token=” + token }); 所以我的问题是如何使OWIN识别令牌现在它不再在标题中。 经过多次搜索后,我最终添加了将令牌从查询字符串移动到标头中的代码。 对于我的原型,我刚刚在StartUp.Auth.cs的原始行上方添加了一些代码。 所以,现在它看起来像这样: app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions() { Provider = new OAuthBearerAuthenticationProvider() { OnRequestToken = context => { if (context.Request.Path.Value.StartsWith(“/TestHub”)) { string bearerToken […]

制作级联下拉列表(ASP.NET MVC)

我有公司和职位空缺表。 公司有多个职位空缺。 我需要制作两个下拉列表。 其中一个是公司,当我选择它时,会有与该公司有关的职位空缺。 这是公司的模型 public Company() { this.Clients = new HashSet(); this.Vacancies = new HashSet(); } [Key] public int CompanyID { get; set; } public string CompanyName { get; set; } public string Id { get; set; } public virtual AspNetUser AspNetUser { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage(“Microsoft.Usage”, “CA2227:CollectionPropertiesShouldBeReadOnly”)] public virtual ICollection Clients { get; […]

使用其他格式插入数据库日期

我有一个gridview和sqldatasource。 我正在尝试在数据库中插入新记录,Date列类型为Date,默认格式为US,mm / dd / yyyy,我正在尝试插入另一种格式的日期。 SqlDataSource2.InsertCommand = “Insert into test (Name,Date) VALUES (@Name,@CONVERT(Date,’@Date’,104))”; SqlDataSource2.InsertParameters.Add(“Name”, nameText); SqlDataSource2.InsertParameters.Add(“Date”, DbType.DateTime, date.Text); 我得到:字符串未被识别为有效的DateTime。 谢谢

使用会话状态是一种不安全的方式来在asp.net中创建用户登录和角色

考虑一个设置,其中id和密码列表存储在服务器上的数据库中,当用户输入他的登录凭据时,代码隐藏对服务器validation它并设置诸如Session [“id”] Session [“login”之类的值“]确定用户是否有权访问某个页面。 当用户尝试浏览页面时,页面会查看会话变量,然后根据需要重新定位用户并相应地调整其页面上的按钮。 这种设置有多安全。 asp.net的内置登录和角色function似乎过于严格,所以我试图探索其他选项。

作业的左侧必须是变量

尝试将数据库(Linq到sql)中的整数数据放入标签中,以获取此错误exception: 赋值的左侧必须是变量属性或索引器 码: protected void Page_Load(object sender, EventArgs e) { DataClassesDataContext data = new DataClassesDataContext(); var visit = (from v in data.SeeSites where v.Date == todaydate select v).FirstOrDefault(); int seennow = visit.See; // On This line I can put data in seenow variable, no problem Convert.ToInt64(lblSeeNow.Text) = visit.See; // exception error appears here }

网络使用HttpWebRequest进行身份validation和网站身份validation

我正在尝试创建一个使用.NET Framework消费RSS数据的应用程序。 RSS站点需要用户名和密码才能开始。 并且我在我的工作场所运行此应用程序,这需要NTLM身份validation才能连接到Internet。 以下是我尝试使用的代码 NetworkCredential nc = new NetworkCredential(“SITEUSERNAME”, “SITEPASSWORD”); CredentialCache cache = new CredentialCache(); cache.Add(new Uri(RSSFeed), “Basic”, nc); cache.Add(new Uri(RSSFeed), “Ntlm”, new NetworkCredential(“USERNAME”,”PASSWORD”,”DOAMIN”)); HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(RSSFeed); myHttpWebRequest.Proxy.Credentials = cache; HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); 我得到407错误,如果我只是使用CredentialCache.DefaultNetworkCredentials我得到401错误。

从列表中获取不同的值

public List GetEmployeeTransferListForHR(TimecardDataContext TimecardDC) { List objEmployeeTransferList = null; try { objEmployeeTransferList = new List(); objEmployeeTransferList = TimecardDC.MAS_EMPLOYEE_TRANSFER.Where( employee => employee.HR_ADMIN_IND==”Y”).ToList(); } finally { } return objEmployeeTransferList; } 它显示hr admin indicator = yes的所有值列表。 但我必须从表MAS_EMPLOYEE_TRANSFER获得hr admin=yes和distinct(empid)。 如何从objEmployeeTransferList获取不同的objEmployeeTransferList 。

请求的客户未经授权

我正在尝试使用google service account从我的域名获取谷歌用户。 但它会引发错误 Error:”access_denied”, Description:”Requested client not authorized.”, Uri:”” 我的代码 X509Certificate2 certificate = new X509Certificate2(key_path, “notasecret”, X509KeyStorageFlags.Exportable); ServiceAccountCredential credential = new ServiceAccountCredential( new ServiceAccountCredential.Initializer(“publickey.gserviceaccount.com”) { Scopes = scopes, User = “admin@domain.com” }.FromCertificate(certificate)); var service = new DirectoryService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = “appname”, }); service.Users.List().Domain = “domain.com”; Users results = service.Users.List().Execute(); 提前致谢

Web用户控件(.ascx)可以使用CSS文件进行样式设置吗?

这是我创建的名为LogOnBox的空白.acsx文件的来源。 我想拖动一些标签,文本框等,并使用CSS文件给它们样式。 如何将CSS与acsx文件关联?

未从HttpHandler写入日志文件

我想捕获所有转到我服务器上*.jpg文件的请求。 为此,我创建了一个HttpHandler,其代码如下: using System; using System.Collections.Generic; using System.Text; using System.Web; using System.IO; using System.Globalization; namespace MyHandler { public class NewHandler : IHttpHandler { public NewHandler() {} public void ProcessRequest(System.Web.HttpContext ctx) { HttpRequest req = ctx.Request; string path = req.PhysicalPath; string extension = null; string contentType = null; extension = Path.GetExtension(path).ToLower(); switch (extension) { case “.gif”: […]