如果授权失败,我一直在寻找一种方法来控制用户重定向到的位置。关于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 { ...