【问题标题】:Hide Web Page From Public - WebMatrix 3从公共隐藏网页 - WebMatrix 3
【发布时间】:2014-12-19 16:21:23
【问题描述】:

我正在使用 C# Razor 来创建社交网络。有些网页包含敏感数据,我不希望有人去那个网址看到它。甚至不用去 Inspect Element 并通过那里打开它。那么有没有办法警告用户“不允许此网页”?

【问题讨论】:

  • 你的社交网络有名字吗,所以我可以远离它?
  • 如果您的目标是创建一个社交网络,WebMatrix 是绝对错误的工具。获取 Visual Studio 并创建一个真正的 Web 应用程序。
  • 是的,我的意思是,我是编程新手,所以我从底层开始,但我会检查一下。

标签: c# razor webmatrix


【解决方案1】:

您必须实施身份验证和授权才能控制谁可以实际访问 mvc 应用程序中的任何给定路由。我只能建议你先阅读官方网站 www.asp.net/mvc/overview/security 关于授权和身份验证。

通过适当的身份验证/授权,服务器将不会发送任何数据,或者您可以重定向到特定的“不允许的页面”

【讨论】:

    【解决方案2】:

    我同意路易斯的观点,你应该在这里拿到这本书,它对我有很大帮助。 http://www.apress.com/9781430257523

    您正在寻找的字面答案涉及使用您放置在控制器操作或控制器本身之上的授权属性。所以一个动作可能看起来像这样

    [Authorize]    
    public ActionResult UserAccount(Guid id){...}  
    

    通过使用ASP.Net Identity 设置身份验证,您将能够自动将未登录的访问者重定向到另一个页面等。

    此外,如果您需要确保当前登录的用户不会(例如)访问其他用户的个人页面(帐户设置?),您可以在服务器端进行简单检查以防止这种情况发生。类似的东西(伪代码)

    if(User.Identity.GetUserId() != account.OwningUserId)
       return RedirectToAction("404", "Shared");
    

    【讨论】:

    • 这非常有用,非常感谢!对不起,如果这个问题很愚蠢,但我是新手,所以我从底层开始
    • 没问题!如果您认为我回答了您的问号,请标记我的答案是正确的!享受学习 MVC 的乐趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 2014-06-19
    • 1970-01-01
    • 2015-02-18
    • 2011-10-08
    • 1970-01-01
    相关资源
    最近更新 更多