admin管理员组

文章数量:1531706

2024年3月3日发(作者:)

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

2008-09-24 20:02

[原创]AD认证进行表单登录的方法

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

1.原因

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

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

现在教大家一种采用表单进行提交的简单方法。其实这个办法很早的时候十一就

搞过,不复杂,我只是稍微完善了一下。

1.首先采用匿名访问。

1.1IIS开启匿名访问。

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

2.设置登录界面

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

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

登录界面代码请见附件。

需要改几个地址如下:

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

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

如果还不清楚的。可以访问 查看。

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

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

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

<%@ Register TagPrefix="wssuc" TagName="Welcome"

src="~/_controltemplates/" %>

下增加

<%@ Register TagPrefix="wssuc" TagName="login"

Src="~/_controltemplates/" %>

在(typeof(_spBodyOnLoadWrapper) != 'undefined')

_spBodyOnLoadWrapper();">

下增加

EnableViewState="false">

可能很多人在问是啥。

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

<%@ Control Language="C#"

Inherits="Bar,oint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" compilationMode="Always" %>

<%@ Register Tagprefix="wssawc"

Namespace="trols"

Assembly="oint, Version=12.0.0.0, Culture=neutral,

PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint"

Namespace="trols"

Assembly="oint, Version=12.0.0.0, Culture=neutral,

PublicKeyToken=71e9bce111e9429c" %>

<%

if(ng()=="")

{

ct("/_layouts/web/");

}

%>

请把这个文件放到c:Program FilesCommon FilesMicrosoft Sharedweb

server extensions12TEMPLATECONTROLTEMPLATES下即可。

本文标签: 登录界面认证进行采用