说明:

这不是一个完成的方案,过程中还是有很多的用户体验方面的问题需要改进。

前提:

SharePoint 2010 配置好了Form认证。相关的配置方法参考:http://donalconlon.wordpress.com/2010/02/23/configuring-forms-base-authentication-for-sharepoint-2010-using-iis7/

如果要配置 LDAP provider的form认证,这篇文章是个不错的选择:http://blogs.technet.com/b/speschka/archive/2009/11/05/configuring-forms-based-authentication-in-sharepoint-2010.aspx

场景:

SharePoint 2010 配置完Form认证之后,我们需要向SQL数据库中添加新的用户。这一步有什么问题吗?当然有,就是所有的操作都的管理员来做:管理员添加帐号,设置初始密码等等。那么有没有其他的解决方案?用户能不能自定注册网站用户,管理员审批权限呢?

答案是肯定的,要不然也不会写这篇博客了。

方案:

首先我们看一下Form认证的登录页面:

通过URL我们得知,这是一个Application页面,也就是在服务器上真实存在的,路径是:C:\inetpub\wwwroot\wss\VirtualDirectories\<Applicationname>\_forms\default.aspx.

打开页面查看源代码(主要代码):

<asp:login id="signInControl" FailureText="<%$Resources:wss,login_pageFailureText%>" runat="server" width="100%"><layouttemplate><asp:label id="FailureText" class="ms-error" runat="server"/><table width="100%">...    </table></layouttemplate></asp:login>

其实就是普通的ASP.Net控件,所以接下来的操作也不太难了。

步骤:

第一步,向这个页面添加一个链接按钮,指向注册页面:

代码以及效果如下:

<asp:login id="signInControl" FailureText="<%$Resources:wss,login_pageFailureText%>" runat="server" width="100%"><layouttemplate><asp:label id="FailureText" class="ms-error" runat="server"/><table width="100%">...<tr><td colspan="2" align="right"><asp:LinkButton id="RegisterNew" text="Sign Up" runat="server" PostBackUrl="SignUp.aspx" /></td></tr></table></layouttemplate></asp:login>

第二步,创建自定义注册页面,并且保存在C:\inetpub\wwwroot\wss\VirtualDirectories\<Applicationname>\_forms文件夹下面。这里主要使用了<asp:CreateUserWizard>控件。这样就不要要而外写逻辑代码了。

 <%@ Page Language="C#" MasterPageFile="~/_layouts/simple.master"       %><asp:Content ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">SignUp
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderPageTitleInTitleArea" runat="server">Sign Up
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderSiteName" runat="server"/>
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
<asp:CreateUserWizard ID="SignUp" runat="server" CreateUserButtonText="Sign Up">
<TextBoxStyle CssClass="ms-inputuserfield" /><WizardSteps><asp:CreateUserWizardStep runat="server" Title="Sign Up"></asp:CreateUserWizardStep><asp:CompleteWizardStep runat="server"></asp:CompleteWizardStep></WizardSteps>
</asp:CreateUserWizard>
</asp:Content>

第三步,测试。

注册:

关闭浏览器,重新登录。(由于方案不完善,如果不关掉浏览器的话,那么会报错)。登录的结果如下:(管理员还没有给该用户添加权限)

添加权限:

不足:

1.注册页面的样式没有搞定,很丑,很丑;

2.注册完毕后必须要关掉浏览器,然后重新打开浏览器登录,否则报错。

转载于:https://www.cnblogs.com/fanwenxuan/archive/2010/09/18/1830353.html

SharePoint 2010的Form认证的用户注册功能相关推荐

  1. Sharepoint 2010配置form认证方式(SQL账号)

    Sharepoint 2010配置form认证方式(SQL账号) 一.准备工作: 1.首先我们创建我们form认证中所需要的数据库. 找到aspnet_regsql.exe,一般在C:\Windows ...

  2. SharePoint 2010 类似人人网站内信功能实施

    简介:用SharePoint代码加实施的方式,完成类似人人网站内信功能,当然,实现的比较简单,样式也比较难看,只为给大家一个实施的简单思路,如有谬误,还请见谅.当然,还有就是截图比较长,当然为了让大家 ...

  3. SharePoint 2010 Form Authentication (SQL) based on existing database

    博客地址 http://blog.csdn.net/foxdave SharePoint 2010 表单认证,基于现有数据库的用户信息表 本文主要描述本人配置过程中涉及到的步骤,仅作为参考,不要仅限于 ...

  4. SharePoint 2010认证模式

    SharePoint 2010在用户认证模式上,较之以前的版本有了非常大的改变.在SharePoint 2010中,当你创建一个Web应用程序的时候,有两种认证方式可供选择:Windows认证模式or ...

  5. SharePoint 2010应用开发系列

    这段时间一直在忙着写SharePoint 2010的MSDN,花了很大的精力来研究,在这里记录一下一些心得体会,希望能给大家带来帮助,共同进步.     各位如果也在研究SharePoint 2010 ...

  6. 在 SharePoint 2010 中访问数据

    数据访问的关键方法有哪些? | 使用查询类 | 使用 SPQuery | 使用 SPSiteDataQuery | 使用 LINQ to SharePoint | LINQ to SharePoint ...

  7. Moss/Sharepoint 2010 Form认证(FBA)

    更改Moss/Sharepoint 的认证方式,你可以自己写provider同时也可以使用微软框架自带的provider,这方面的准备工作网上有相当多的资料可以查询,你可以搜SqlMembership ...

  8. SharePoint 2010 Form 认证 之 IIS 添加数据

    上一篇简单介绍了Form认证的配置,这一篇再介绍如何通过IIS添加数据. 一.打开IIS,添加角色与用户 二.添加角色 设置默认提供程序 添加用户 三.添加用户 设置默认提供程序 添加用户 用户添加完 ...

  9. SharePoint 2013 配置基于AD的Form认证

    前 言 配置SharePoint 2013基于AD的Form认证,主要有三步: 1. 修改管理中心的web.config: 2. 修改STS Application的web.config: 3. 修改 ...

  10. 国内首部Sharepoint 2010深入开发(工作流+安全性+单点登录+AD开发、认证等)

    简介:本课程是国内首部深入讲解Sharepoint 2010全程开发的课程,讲师为微软中国上海公司高级工程师.课程采用技术结合实例的方式讲解,涉及内容包括Sharepoint2010之Linq.WCF ...

最新文章

  1. [已解决]window下Can't connect to MySQL server on 'localhost' (10061)与无法启动MYSQL服务”1067 进程意外终止”...
  2. c++以代理的方式来实现接口化编程
  3. 第一章 Spring基础
  4. SAP Fiori应用里日期格式的显示奥秘
  5. Linux系统编程----8(竞态条件,时序竞态,pause函数,如何解决时序竞态)
  6. mysql中find_in_set()函数的使用及in()用法详解
  7. 装机之MBR和GPT
  8. 【android】string.xml中的一些错误
  9. 使用python解析C代码
  10. 超实用的浏览器插件:CSDN 一键搜索、自定义工具、全站去广告、一键美化等
  11. java arraylist 构造_深入理解java集合框架之---------Arraylist集合 -----构造函数
  12. openai-gpt_GPT-3不会承担您的编程工作
  13. 【每日一具17】CAD迷你画图/最新2020R9
  14. 为什么你的问题总是得不到博主回复?一文教你如何高效和博主进行沟通!
  15. oracle表空间配额和unlimited tablespace权限
  16. iterm2 + oh my zsh 实现 macOS X 下炫酷终端
  17. C++剖析 cout<<“hello world“<<endl;
  18. ASBR(自治系统边界路由器)
  19. 股票期货盈亏比的计算,胜率与盈亏比的关系
  20. Java核心技术卷一、二读书笔记(PDF)分享

热门文章

  1. sift计算效率优化_【计算机视觉】9. 小结
  2. 系统运维包括哪些内容_UI设计内容包括哪些?
  3. Python的单元测试工具——doctest
  4. 第二次公共考试,判断错题集
  5. 解决CentOS内网机通过Windows下架设代理来访问网络
  6. 2017《面向对象程序设计》课程作业五
  7. 软件体系架构课下作业01
  8. 最新县及县以上行政区划代码(截止2008年12月31日)
  9. .Net中如何操作IIS(原理篇)
  10. Python 全栈开发二 python基础 字符串 字典 集合