使用会话变量的自定义授权属性

时间:2015-03-12 15:49:58

标签: c# asp.net-mvc session asp-classic custom-attributes

我在MVC 4应用程序中运行了一个经典的asp网站。因此,要访问经典asp网站的区域,用户需要使用经典的asp登录页面登录。此时,它们在系统内进行身份验证。他们的userid, security level and authentication存储在经典的asp会话变量中。

然后,我使用相同的变量名称将会话中的登录信息放入ASP.Net会话中。

我正在尝试创建自定义Authorize属性以使用.NET会话变量authentication, userid and securitylevel,然后检查数据库表以检查用户是否有权访问该站点的部分。我希望能够使用此自定义属性代替[Authorize]来锁定我的控制器和视图。

我不确定从哪里开始,因为我是ASP.NET MVC和c#的新手。

1 个答案:

答案 0 :(得分:0)

我想出了如何做到这一点。我创建了一个继承自[Authorize]的自定义属性,在其中我设置了一些自定义逻辑来询问会话以检查先前的身份验证。我将为用户所连接的每个站点创建一个个人权限模型,并将询问数据库中的这些权限,而不是从会话中读取。