.NET Core MVC设置重定向以进行角色授权失败

时间:2016-11-28 08:49:45

标签: c# redirect authorization asp.net-core-mvc

如果授权失败,我一直在寻找一种方法来控制用户重定向到的位置。关于CookieAuthentication和LoginPath属性,我已经看到了很多关于Stackoverflow的主题,但我没有使用cookie身份验证(请参阅下面的实现)。

有没有办法重定向到非授权页面而不只是在浏览器中出现403错误?

当前授权实施

在web.config中

<configuration>  
  <system.webServer>
    ...
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true" />
  </system.webServer>
</configuration>

在Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddAuthorization(
        options =>
            options.AddPolicy("FooUsersAndAdmins",
                policy => policy.RequireRole(@"FOODOMAIN\users-group", @"FOODOMAIN\admins-gropu")));                                    
}

跨不同控制器使用

[Authorize(Policy = "FooUsersAndAdmins")]        
public class HomeController : Controller { ...

0 个答案:

没有答案