首页 > 解决方案 > 使用 ADFS 和 WAP 时未经身份验证的应用程序区域

问题描述

我的网站的某些部分需要身份验证,而其他部分则不需要,例如注册页面、关于、联系我们等。

对于经过身份验证的区域,我们与 ADFS 集成。我们正在引入 WAP,并正在考虑以下事项。

我们可以使用 preauthenticaiton 并将所有需要身份验证的功能放在一个应用程序中,然后仅为那些不需要身份验证的部分创建第二个应用程序。

这是一种常见/首选的方法吗?

标签: adfs

解决方案


这真的取决于你的喜好。如果您愿意,您可以创建单独的应用程序并将访问要求添加到一个而不是另一个,或者您可以添加逻辑以根据身份验证或用户角色授予用户有条件的访问权限。仅使用 IsAuthenticated 属性来授予对特定页面的访问权限会更容易。您可以使用 Request.IsAuthenticated 或 User.Identity.IsAuthenticated,具体取决于您想走多远。

@if (User.Identity.IsAuthenticated){

     using (Html.BeginForm("My Page", "About", FormMethod.Post)){

       <div> Page Data </div>
     }
 }

 else{
     <div> Show nothing. </div>
  }

或者更简单地说,您可以执行以下操作:

@if (Request.IsAuthenticated){

    <h1> Here's your data!</h1>
}

else{

    <h1>Here's your blank web page! </h1>
} 

供参考:Request.IsAuthenticated 是如何工作的?


推荐阅读