• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
C罗.net
DotNetNuke vs SharePoint
博客园    首页    新随笔    联系   管理    订阅  订阅

AD认证进行表单登录的方法(转)

MOSS用那么久了,有人采用AD认证,有人采用FORM认证,我们公司是采用中间的替换方法,因为采用FORM认证个人觉得还是不是太方便,例如需要开两个端口等。个人有个做法把经验共享给大家,如果做得不对或者有更好的办法的话,可以联系我。

 

 

 

1.原因

 

为什么要进行表单登录,默认MOSS采用AD认证,是因为用户默认存储为AD,如果有人要把用户和以前的系统进行结合的方式,那么请采用正规的FORM认证进行开发。

 

我今天要讲的是AD认证,AD认证有个不好的方式就是弹出对话框,界面不友好,例如我要在界面上放一个忘记密码的方式是完全做不到的。

 

1.png (28.73 K)
2008-4-2 19:46:08

 

 

 

 

现在教大家一种采用表单进行提交的简单方法。其实这个办法很早的时候十一就搞过,不复杂,我只是稍微完善了一下。

 

 

 

1.首先采用匿名访问。

 

  1.1IIS开启匿名访问。

 

2.png (11.46 K)
2008-4-2 19:46:40

 

 

  1.2验证提供程序需要开启。操作方式:管理中心--》应用程序管理--》应用程序安全性--》验证提供程序--》默认

 

3.png (18.17 K)
2008-4-2 19:46:56

 

 

 

 

  1.3开启网站匿名访问。操作为:网站操作--》高级权限--》设置--》匿名访问,如下

 

  

4.png (18.57 K)
2008-4-2 19:47:22

 

 

 

 

 

2.设置登录界面

 

我们需要开发一个登录界面。输入用户。密码。

 

5.png (215.05 K)
2008-4-2 19:49:53

 

 

 

 

这个登录界面可以放在_LAYOUTS/目录底下。

 

登录界面代码请见附件。

 

需要改几个地址如下:

 

http://www.cnblogs.com/sharepoint/test/default.aspx 这个界面是需要验证的界面(默认网站已经开了匿名,只需要验证到其他一个非匿名访问的地址即可)

 

http://10.49.28.7  这个是我们要返回的界面

 

如果还不清楚的。可以访问http://keji.lickies.cn 查看。

 

 

 

3.登录后自动跳转到登录界面的方式,因为我们已经开放了匿名,默认我们是可以进去的,那么我们需要增加一段程序,判断如果AD用户为空的话则跳转到登录界面。

 

我们采用一个办法是在MASTERPAGE里增加一个USERCONTROL

 

 

 

如何做呢?打开默认的在12/TEMPLATE/GLOBRAL/DEFAULT.MASTER(如果有改过则到SPD里找)

 

在

 

<%@ Register TagPrefix="wssuc" TagName="Welcome" src="~/_controltemplates/Welcome.ascx" %>

 

下增加
<%@ Register TagPrefix="wssuc" TagName="login" Src="~/_controltemplates/chklogin9.ascx" %>

 

 

 

在<BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">

 

下增加

 

<wssuc:login id="chklogin" runat="server" EnableViewState="false"></wssuc:login>

 

可能很多人在问CHKLOGIN.ascx是啥。

 

就是我们的用户控件,,,这个文件如下。附件可以下载。。

 

 

 

<%@ Control Language="C#" Inherits="Microsoft.SharePoint.ApplicationPages.WebControls.ActionBar,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"    compilationMode="Always" %>
<%@ Register Tagprefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%

 

if(HttpContext.Current.User.Identity.Name.ToString()=="")
{
    Response.Redirect("/_layouts/web/login.aspx");
}

 

%>

 

请把这个文件放到c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES下即可。

posted @ 2008-09-29 15:22  皇上爱累了  阅读(1159)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3