基于登录的URL访问

时间:2011-11-18 22:30:01

标签: c# asp.net

大家好,我有一个问题,我会尽可能好地描述。 我的项目位于我的服务器上的文件夹中,url的路径就像

www.domain.com \ project现在我想要实现的是只有用户登录时才能访问\ project目录。场景将是用户打开网址www.domain.com并且他看到登录屏幕,如果他登录路径\项目将是可访问的,如果他没有并尝试去转到direcoty或目录中的任何文件它应该给他一个错误并将他重定向回登录屏幕。我在我的项目中使用MVC3,但我可以在asp.net web表单中编写登录屏幕。 我还希望授权基于db的用户登录表,因此当用户登录时,它会根据表中的信息进行验证。我不是根据登录直接访问url来寻找角色或权限。如果有人能够展示如何实现这一目标的示例或代码示例,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

在你的web.config中试试这个:

<system.web>
    ... other stuff
    <authentication mode="Forms">
        <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>
    ... other stuff
</system.web>    
... more stuff
// secure only one directory [goes at the same level as your standard <system.web>]
<location Path="Project">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>