Asp.Net API 2 Ninject和OWIN OAuth配置
我知道有很多与此帖子非常相似的帖子.但是,我已经经历了它们,无法找到解决我的问题的解决方案. 我正在使用OWIN实施宣誓身份验证,以将Ninjext用于依赖注入. 使用OWIN从原始global.asax Application_start配置方法进行宣誓,以创建用于配置OWIN的start.cs file/class. 我面临的问题是,无论我在运行代码时尝试什么实现,API请求总是返回错误"确保控制器具有无参数公共构造函数". 请一些人可以阐明为什么以下方法无法使用? 我第一次尝试解决该问题的尝试是将app.useninjectmiddleware与app.useninjectwebapi一起使用.其次,我尝试了一个ninjectDepentencyResolver,这在以前的许多帖子中都提到了. 链接到类似的帖子. 以下是继续两个实现的代码. public class Startup { public void Configurati
16 2024-04-26
编程技术问答社区
Ninject不能解决OWIN的依赖性问题
public class WebAppHost { public WebAppHost(IAppSettings appSettings) { this._appSettings = appSettings; } public Configuration(IAppBuilder appBuilder) { if(this._appSettings.StartApi) appBuilder.UseWebApi(); } } public class AppContext { public static void Start(string[] args) { DynamicModule.Utility.RegisterModule(typeof(OnePerRequestHttpModule)); DynamicModule.Utility.Regist
24 2024-04-26
编程技术问答社区
向基于Owin的项目添加洞察力的问题
我一直在尝试为一些项目添加Azure应用程序见解. .NET Core应用程序的整个体验是无缝的.但是,当我尝试更新云角色名称属性时,这就是我在基于OWIN的应用程序中找不到很多东西的地方.我希望 Insights应用程序映射中的气泡名称能够出现我在此属性中设置的内容(例如,我-azure-api).浏览大多数在线资源之后,我能够完成以下内容,而这无效. using Microsoft.ApplicationInsights.Channel; using Microsoft.ApplicationInsights.Extensibility; namespace MyApp.Insights { public class RoleNameInitializer : ITelemetryInitializer { public void Initialize(ITelemetry telemetry) { //
20 2024-04-26
编程技术问答社区
网络API令牌认证
我正在将用户凭据从Web应用程序发布到Web API,该Web API实现了对用户身份验证并使用有效令牌响应的提供商. 这是发布的方法: public TokenModel RequestAPIToken(string username, string password) { var postData = new Dictionary(); postData.Add("grant_type", "password"); postData.Add("username ", username); postData.Add("password ", password); HttpContent content = new FormUrlEncodedContent(postData); _response = _client.PostA
50 2024-04-26
编程技术问答社区
Owin自我托管的WebApi最大缓冲区尺寸
当我使用IIS或WebAPI SelfHost托管WebAPI时,我可以为MaxBufferSize和MaxReceivedMessagesize设置值. 但是Owin自主呢?有什么方法可以定义这些参数?什么都没找到.没有必要吗?如果没有必要,您能解释为什么吗? 解决方案 您可能知道,微软已转向中间件.这个已准备好已经准备好了使用示例来执行最大消息大小.基本上,您需要创建一个继承Owinmiddleware的类,然后可以在当前上下文中检查Iowinrequest接口上的消息大小. 奇怪的是,两行代码需要被许多复杂的代码代替,这是这样的"简单"任务,但这就是这样.
18 2024-04-26
编程技术问答社区
在修改OWIN(Katana)以在树莓派中运行VS2013'的MVC WebApplication方面需要帮助
我想在Raspberry Pi 2中运行Visual Studio 2013的MVC WebApplication 2.我设法将Mono 4.0.1和LightTPD安装为Web服务器,并且我能够获得此默认的MVC WebApplication(没有身份验证)覆盆子机.但是,当我尝试相同的MVC WebApplication但使用"个人身份验证"时,它会产生以下错误: System.MissingMethodException: Method 'HttpApplication.RegisterModule' not found. 谷歌搜索后,我找到了在这里 Mono的System.web.httpapplication中未实现此方法'registerModule()'.解决方案是重建Owin.我以前从未做过.我用" git bash"来克隆katana,如下: git clone https://git01.codeplex.com/katanaproject 然后相
18 2024-04-26
编程技术问答社区
会话超时时,Azure AD认证破坏了HTTP帖子操作
我最近使用大约"开箱即用"代码从Windows身份验证到Azure AD; public void ConfigureAuth(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseKentorOwinCookieSaver(); app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = client
18 2024-04-26
编程技术问答社区
IIS应用池在中间件记录OperationCancelledException后20秒左右崩溃了
在我们的生产服务器上,全天间歇性地看到了这一点: 为应用程序池" myapi"服务的过程遭受致命 Windows进程激活服务的通信错误.这 过程ID为" 29568".数据字段包含错误编号. 我已经看到了解决此问题的建议,就像在IIS中设置了32位的内容,但我无法控制生产级别的IIS.另外,我的公司运行了数十个应用程序池,而我正在调查的只有一个问题才有这个问题.因此,我排除了某种IIS配置问题. 我已经通过debugdiag运行了崩溃转储,这就是报告的内容: 在w3wp.exe.18080.dmp中 iiscore!w3_context_base :: getislastNotification+62 in C:\ Windows \ System32 \ inetsrv \ iiscore.dll来自Microsoft Corporation 在尝试阅读时引起违反访问违规例外(0xc0000005) 从内存位置0xd7f76008线程94 我已经尝试过搜索
6 2024-04-25
编程技术问答社区
C# Owin登录在生产系统上的结果是身份=null
我有一个ASP.NET MVC 5 Web项目,该项目在我的开发系统上运行良好.但是由于某种原因,一旦我在生产系统上部署解决方案后,使用Microsoft Owin使用Facebook停止工作. 回调总是检索.... error = Access_denied作为参数,我将其跟踪回到Owin为我的身份返回null的事实.有任何线索,这里发生了什么? 更新 我在我的OWIN代码中实现了Log4net,并能够深入研究: Response status code does not indicate success: 400 (Bad Request). Stack trace: at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at Microsoft.Owin.Security.Facebook.FacebookAuthenticationHandler
32 2024-04-25
编程技术问答社区
在OWIN启动类中解决Autofac的依赖问题
我有一个多租户MVC5 WebApp,它使用AUTOFAC v3.5.2和AUTOFAC.MVC5 v3.3.4. 我的AutoFac DI接线发生在我的MVC项目中的课程中.为了进行身份验证,我们正在使用来抓住依赖性 DependencyResolver.Current.GetService(); 但是,这总是抛出ObjectDisposedException 无法解决的实例,并且由于已经处置了嵌套的寿命. 我们的应用程序中有一个IsiteContext,它具有少数请求.它被特定于当前请求的配置值填充.我正在尝试以这样的方式获取这些价值: private OpenIdConnectAuthenticationOptions CreateOptionsFromPolicy(string policy) { var options = new OpenIdConnectAuthenticationOptions {
22 2024-04-25
编程技术问答社区
如何创建和消费OWIN JWT?
我有一个WebAPI,我需要保护一个Angular 4.X应用程序,以便我可以使用JWT. 我试图弄清楚使用Microsoft的Owin Katana 3.x 软件包实现的最低限度(没有OAuth?)是什么. 如何完成? 解决方案 以下内容不起作用(Microsoft的/系统零件以破坏方式纠缠在一起).但这是我最接近几乎简单的东西. using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Security.Cryptography; using Microsoft.IdentityModel.Tokens; using Microsoft.Owin; using Microsoft.Owin.Security.Jwt; using Owin; [assembly: OwinStartup(typeof(WebApplication1.Startup))] na
28 2024-04-25
编程技术问答社区
在使用OWIN cookie认证时,无需数据库即可存储/检索用户数据
使用Owin Cookie身份验证时,如何正确存储和检索属于用户的数据?没有数据库可用.只要cookie保持有效,应最好使用数据.如果是不可能的,那么如果用户需要重新提供数据,则可以接受.当前登录仅使用类似的内容: // Check credentials here var claims = new List { new Claim(ClaimTypes.Name, name) }; var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); HttpContext.GetOwinContext().Authentication.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity); 解决方案 cookie中间件要保存您的索赔认可中的任何东西,因
22 2024-04-25
编程技术问答社区
Autofac将数据注入OWIN启动类中
我已经四处寻找一段时间了,找不到我特定问题的答案: 如何使用AUTOFAC将数据(通过构造函数或属性)注入OWIN启动类? 我正在Windows服务中使用AutoFac,该服务还可以处理后端服务等的创建. 我希望能够注册启动类,以便我可以为CORS注入允许的启动,但是即使我将对象注册为属性: : var builder = new ContainerBuilder(); // This will actually be read from config. var origins = new[] { "http://localhost", "http://localhost:8082", }; builder.Register(c => new Startup(origins)); var container = builder.Build(
24 2024-04-25
编程技术问答社区
在随后的请求中,OWIN-访问外部索赔
我有一个ASP.NET应用程序,该应用程序通过第三方提供商,特别是Google使用OWIN和外部登录名. 在身份验证期间,此代码用于从OwinContext 中提取索赔认可. var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); authenticationManager是 private IAuthenticationManager AuthenticationManager { get { return HttpContext.GetOwinContext().Authentication; } } 但是,在后续请求(即成功登录后重定向到主页)getExternalloginInfoAsync()返回null.我想做的是访问有关用户帐户(即配置文件图片)的信息,外部提供商从我
24 2024-04-25
编程技术问答社区
OWIN身份角色在本地工作,但当我在远程IIS服务器上发布/运行相同的代码时,似乎就消失了。
使用Owin AuthenticationHandler MVC网站,我登录用户,如下: var claims = new List { new Claim(ClaimTypes.Role, UIRoles.PowerUser) }; var identity = session.ToClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie, claims); Context.Authentication.SignIn(identity); 在以后的某个时候,我检查了用户是PowerUser: User.Identity.HasRole(UIRoles.PowerUser) 这在我的本地IIS上起作用,但是一旦我在远程IIS机器上发布它,当我尝试检查用户是否为PowerUser时,它总是会返回False.为什么会发生这种情况?我会丢失IIS服务器的配置中的某些内容还是在远程计算机的web.co
16 2024-04-25
编程技术问答社区
使用NancyFx、OWIN和JWT的无状态认证
我有一个OWIN自托管应用程序,该应用程序具有前端用户可以注册的前端. Nancyfx具有路由和模型的逻辑,在 表格(Nancy.Authentication.Forms) 基本(Nancy.Authentication.Basic) 无状态(Nancy.Authentication.Stateless) 我已经解决了无状态身份验证,并关注我想进一步扩展这一点,使用JWT可以方便地拥有一些基本信息,也可以作为基本身份验证的一种形式(例如,客户已经对他进行了验证.),但这是我遇到一些问题的地方. 我身份验证的方式Home -> login -> redirect upon success会导致我的响应.header.authorization被清除,不允许我在自定义Bootstrapper中捕获令牌. 代码: protected override void RequestStartup(TinyIoCContainer requestContainer, IPipe
12 2024-04-25
编程技术问答社区
ASP.NET MVC中用户授权的聪明方法(无需创建表格等)。
我使用外部提供商来验证我的ASP.NET MVC应用程序中的用户,没有任何问题.但是,我还需要授权用户,以防止他们直接访问或过期访问(会话2分钟).我以前曾经使用过ASP.NET身份,但是这次我不需要将用户和角色保留在表格上,因此,我需要快速,良好的解决方案来解决这个问题.因此,我如何防止用户访问应用程序的DEX页面,而无需提供我使用的提供商的身份验证.同样,我还需要检查用户上次动作后2分钟以上的时间,在这种情况下,我需要重定向用户登录页面.我尝试使用Owin cookie,但不幸的是,我无法使用至少10种不同的方法来注销用户:( 启动: public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } public void ConfigureAuth(IAppBuilder app) {
16 2024-04-24
编程技术问答社区
Swagger在OWIN Startup Web API C#中不工作。
我已经在Web API中的Owin startup.cs文件中实现了Swagger,但是当我尝试打开Swagger UI页面时,它说 http error 404.0-找不到 url要检查Swagger UI:https://localhost:5001/swagger 这是我的实施,请帮助我我缺少的东西. startup.cs public class Startup { public void Configuration(IAppBuilder app) { app.Map("/api", map => { ConfigureApiArea(map); }); } private void ConfigureApiArea(IAppBuilder map) { var config = CreateTypedConfiguration();
16 2024-04-24
编程技术问答社区
HTTP POST在OWIN自建网络API中不工作
我是自我托管网络API的自我.我从集成测试中进行的任何获取重新启动都可以.但是,任何邮政请求都会拒绝连接.我似乎无法处理正在发生的事情. 错误消息 system.Net.HttpRequestException: An error occured while sending the request to the remote server. SocketException: no connection could be made because the target machine actively refused. 代码 using (WebApp.Start("http:/localhost:8216")) { var client = new HttpClient(); client.BaseAddress = new System.Uri("http://127.0.0.1:8216
22 2024-04-23
编程技术问答社区
在ASP.NET WebAPI 2中缩短由OWIN返回的访问令牌的长度
我们已经使用ASP.NET WebAPI 2开发了REST API,并使用ASP.NET身份确定了它.客户要求将其令牌设置为长期到期时间,因为他们将访问令牌存储在数据库中. 在测试过程中,他们要求我们降低令牌的长度,因为他们的数据库只能处理最多250个字符的字符串.我们的实施非常"香草".以下是我们当前为携带者令牌设置的选项: OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/oauth/2/token"), Provider = new ApplicationOAuth2Provider(PublicClientId), AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), AccessTokenExpireTimeSpan =
20 2024-04-23
编程技术问答社区