【发布时间】:2017-08-18 09:10:59
【问题描述】:
我试图将未经授权的请求重定向到某个禁止页面,但我在响应正文中收到禁止页面,我该如何解决这个问题?
这是我的 StartUp 课程:
app.CreatePerOwinContext(StoreContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
ExpireTimeSpan = TimeSpan.FromDays(30),
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
我试图达到的方法是:
[HttpGet]
[Authorize(Roles = "Admin")]
public string GetCurrentUsername()
{
return UserManager.FindByEmail(User.Identity.Name).Name;
}
我已经尝试过这些东西:
- 从 cookieOptions 中移除 LoginPath 以返回 401
- 创建自定义授权属性
顺便说一句,我使用 Angular,我认为这个问题与 ajax 调用有关......
【问题讨论】:
-
你检查我下面的答案了吗?
标签: c# asp.net angularjs authorization identity