asp.net-mvc-4 – ClaimsAuthorizationManager.CheckAccess:处
发布时间:2020-12-16 09:25:16 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个使用ACS进行身份验证的ASP.NET MVC应用程序.必须对用户进行身份验证才能访问该站点的任何部分. 我已经创建并配置了ClaimsAuthorizationManager,将我的自定义逻辑放在CheckAccess方法中,并且我在使用ThinkTecture的IdentityModel属性的控制器方
我正在开发一个使用ACS进行身份验证的ASP.NET MVC应用程序.必须对用户进行身份验证才能访问该站点的任何部分.
我已经创建并配置了ClaimsAuthorizationManager,将我的自定义逻辑放在CheckAccess方法中,并且我在使用ThinkTecture的IdentityModel属性的控制器方法上以声明方式使用它. 例如:[ClaimsAuthorize(“Edit”,“Clients”)] 如果经过身份验证的用户尝试访问他们没有足够权限访问CheckAccess方法的资源,则会按预期返回false.但是,然后用户立即再次重定向到登录页面.这显然是不正确的,因为用户已经过身份验证(只是未经授权).我想要发生的是将用户重定向到一个视图,通知用户他们无法访问所需的资源.我一直无法在管道或配置中找到正确的位置来实现这一目标. 我能够做到的唯一方法是在CheckAccess中抛出自定义异常而不是返回false,然后在Application_Error中处理异常.这显然是不正确的.达到我想要的结果的正确模式是什么? 谢谢 垫 解决方法
处理ASP.NET管道中的401或从ClaimsAuthorizeAttribute派生并覆盖SendUnauthorizedResponse(或类似)方法.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 我使用什么Active Directory字段来唯一标识用户
- Parallel线程安全问题
- asp.net – IIS 6不显示默认文档(default.aspx)
- 使用ASP.NET窗体身份验证的WCF服务
- 从asp.net ListBox中获取所有选定的项目
- ASP.NET EF实体主外键关系
- 使用asp.net core 2.0中的angular 5进行文件上传.文件为空
- asp.net-mvc – ASP MVC ChildActionOnly应该有路由
- 图表 – 在Asp.net mvc中实施Google Analytics
- asp.net – Do Bundles优先于Routing吗?