【发布时间】:2015-12-09 21:29:39
【问题描述】:
tl;dr:我有一个 MVC 应用程序(使用身份),我们正在将一些 Web 表单页面(为表单身份验证编写)导入其中。我需要知道如何使用(现有)角色最好地保护这些 Web 表单页面。
更多细节:我们实际上是在 MVC 中重建一个旧的 Web 表单应用程序,并希望在 MVC 应用程序中重用一些旧的 Web 表单页面。我们已将它们放在 MVC 应用程序的子文件夹中,并让它们运行。
MVC 应用程序的大部分部分都是公开的,但有些页面需要身份验证和授权。为此,我们使用身份框架和[Authorize] 属性,它在幕后使用具有角色信息的数据库表。这些数据库表实际上是在表单身份验证下的遗留应用程序中使用的。一切正常。
困难在于如何最好地在 Web 表单页面上使用相同的权限系统。我知道身份可以使用 Web 表单来实现,但我不希望有一个完全独立的身份实现。我们也可以只回收旧的表单身份验证系统,尽管我无法弄清楚如何在 MVC 应用程序中实现它。
我尝试过的
老式的表单验证
这就是我们在旧应用中管理安全性的方式。
我放了
<system.web>
<authorization>
<allow roles="RelevantRole"/>
<deny users="*"/>
</authorization>
</system.web>
在包含 Web 窗体的目录内的 Web.config 文件中。这确实成功地将我重定向到身份验证页面,但登录后,我得到一个重定向循环。
【问题讨论】:
-
你能做到吗?我也有同样的情况
标签: c# asp.net asp.net-mvc forms-authentication asp.net-identity