English 中文(简体)
混合ASP.NET网络形式和MVC授权
原标题:Mixing ASP.NET WebForms and MVC Authorization

我试图将一些 MVC3 功能混入到现有的 WebForms 应用程序中。 我遵循了一些指南, 并设置了除授权文件之外的所有功能和工作。 现有的应用程序有 < code@ lt; deny user= *" / & gt; 位于根网. config 上, 每个子文件夹都有自己的网络。 config 允许您访问内部特定角色的页面 。

我的新理解是,这种不能/不应该用于主计长的风格, 我应该使用 < code> 授权 属性代替。 我用 < code> homecurrent 将我的测试“ < code > homecurrent ” 类装饰为 < code> [Adorize( Roles= "AdminRole" ) , 但是当我试图查看页面时, 我得到了一个“ 允许拒绝” 页面 。

如果我更改 root web. config 来表示 , 页面有效。 这是否意味着我添加到控制器的属性是有效的, 但是 root web. config setting 优先于它? 我不想破坏我们现有的授权内容, 因为网站已经建立良好, 我正试图添加 MVC 来玩耍 。 我是否缺了什么东西? 感谢您提供的任何洞察 。

最佳回答

您试图在已经使用 Web 格式的应用程序中使用 MVC 安全, 这有点棘手。 如果这是纯 mvc 选项, 选择很简单 。 如果您不能将 mvc 特性拖出一个单独的应用程序, 那么这会让你略微吃点泡菜 。

我的第一个建议是尝试解析代码。 如果您正在使用 MVC 来提供休息性功能, 也许还可以检查 MVC4 网络 pi 来提供您的应用程序的 pi, 并共享它们之间使用的组件, 而这需要将它们从您的网络应用程序中拖出进入域库或其他适当命名的库 。

如此的话, 不是100%确定允许用户=“ * ” 是否和预期的一样有效, 但我相信是的。 它很容易测试, 只需将“ 角色” 改为“ 角色” = “ 占位符 ”, 再试一次 。

设置此选项虽然会杀死您其他的 ault, 这样一个想法就是将所有 mvc 路径置于特定的 URL 之下, 如“ / api/ ”, 并允许 * 在网络中 。 配置到此路径, 然后在您所有控制器方法上使用 mvc s 安全 。 这将对您的主网络应用程序影响较小 。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签