MOSS2007中实现表单验证

转自阿喜的Spaces
Microsoft Office SharePoint Server 2007 Forms Authentication

本文将演示如何在MOSS2007中实现表单验证.

创建ASP.NET 2.0 表单验证数据库
创建ASP.NET 2.0数据库

使用Microsoft .NET 2.0提供的工具aspnet_regsql.exe来创建一个名为AspNetDb数据库:

Visual Studio 2005命令提示中执行 asp_regsql –A all –E.

在SQL Server 2005中查看刚才创建好的数据库.

配置成员资格提供程序和角色提供程序

创建好数据库之后,需要在数据库中添加用户,最简单的方法是利用ASP.NET网站管理工具.

在Visual Studio 2005中创建一个ASP.NET站点.

打开项目中的web.config文件,如果项目中没有web.config文件的话,可以手动添加一个移动Web配置文件.

<configuration>节点内添加<connectionStrings>节点:

<connectionStrings>

<remove name="AspNetSqlProvider" />

<add name="AspNetSqlProvider"

connectionString="server=SQL服务器名称; database=aspnetdb; Trusted_Connection=True" />

</connectionStrings>

接着指定membership和role的提供程序,在<system.web>节点内添加<membership>节点和<roleManager>节点:

<!--Membership Provider-->

<membership defaultProvider="AspNetSqlMembershipProvider">

<providers>

<remove name="AspNetSqlMembershipProvider" />

<add connectionStringName="AspNetSqlProvider"

passwordAttemptWindow="10"

enablePasswordRetrieval="false"

enablePasswordReset="true"

requiresQuestionAndAnswer="true"

applicationName="/"

requiresUniqueEmail="false"

passwordFormat="Hashed"

description="Stores and retrieves membership data from the Microsoft SQL Server database"

name="AspNetSqlMembershipProvider"

type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</membership>

<!--Role Provider-->

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">

<providers>

<remove name="AspNetSqlRoleProvider" />

<add connectionStringName="AspNetSqlProvider"

applicationName="/"

description="Stores and retrieves roles data from the local Microsoft SQL Server database"

name="AspNetSqlRoleProvider"

type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</roleManager>

以上的步骤完成之后,选择Visual Studio 2005菜单中的网站 > ASP.NET配置:

点击安全:

点击选择身份验证类型:

选择通过Internet,点击完成.

创建用户

在上一步返回的页面中选择创建用户:

填写用户信息后点击创建用户:

点击继续来创建另外一个用户Blueheart.

最后我们来确定一下web.config中的成员资格和角色提供程序是否正确,在ASP.NET网站管理工具中点击提供程序选项卡:

点击为每项功能选择不同的提供程序(高级):

这张页面列出了我们在web.config中指定的提供程序,点击测试来确认是否能成功连接到数据库:

创建Web应用程序和网站集
创建第一个Web应用程序

打开SharePoint管理中心网站 > 应用程序管理 > 创建或扩展Web应用程序 > 新建Web应用程序:

· 端口:8001

· 验证提供程序:NTLM

· 允许匿名访问:

下文中简称此Web应用程序为8001站点.

创建网站集

Web应用程序创建完成之后,点击页面中的创建网站集链接创建一个网站集:

l 模板选择: 发布门户

l 网站地址:/

创建第二个Web应用程序

打开SharePoint管理中心网站 > 应用程序管理 > 创建或扩展Web应用程序 > 扩展现有Web应用程序:

· 端口:8002

· 验证提供程序:NTLM

· 允许匿名访问:

· 负载平衡URL区域:Internet

下文中简称此Web应用程序为8002站点.

配置Web应用程序与ASP.NET 2.0表单验证数据库的连接
配置Web应用程序

打开8001站点的web.config文件, 添加连接字符串,membershiprole提供程序并保存.

如果不知道web.config文件的路径,可以打开Internet信息服务(IIS)管理器,找到8001站点,查看其属性,打开主目录选项卡,在本地路径处可以看到其存放位置:

以同样的方法修改8002站点的web.config文件.

配置SharePoint 管理中心

在SharePoint管理中心的web.config文件中添加连接字符串,membership提供程序和role提供程序,按照之前的方法添加过后,还需要做一步必要的修改,将<roleManager>defaultProvider属性的值修改为AspNetWindowsTokenRoleProvider.

在Web应用程序中启用表单验证

打开SharePoint管理中心网站 > 应用程序管理 > 验证提供程序:

确定当前Web应用程序是8001站点,点击Internet.

编辑验证页面做以下修改并保存:

· 验证类型:表单

· 启用匿名访问:

· 成员身份提供程序名称:AspNetSqlMembershipProvider

· 角色管理器提供名称:AspNetSqlRoleProveder

打开8002站点,显示登录页面:

下面向网站中添加用户来映射到自定义数据库中的用户.

打开8001站点 > 网站操作 > 网站设置 > 人员和组 > 新建:

l 用户名:blueheart

l 授予权限:访问者

下面来测试一下,在刚才打开的8002站点登录页面,输入blueheart和密码,登录成功:

因为我们只授予blueheart访问者的权限,所以点击页面左侧任务列表中的启用匿名访问会被拒绝访问:

启用匿名访问

打开SharePoint管理中心 > Web应用程序的策略:

确定当前Web应用程序是8001站点,点击添加用户:

区域选择Internet > 下一步:

l 用户:windie

l 权限:完全控制

现在用windie登录8002站点,点击页面左侧任务列表中的启用匿名访问(另一种途径:网站操作 > 网站设置 > 修改所有网站设置 > 高级权限 > 设置 > 匿名访问):

设置匿名用户可访问整个网站.

现在从8002站点注销,测试匿名访问是否正常工作:

配置个别网站的权限

采用发布网站模板的网站集中默认包含一个新闻发布网站,新闻发布网站继承网站集的权限,也就是说启用匿名访问之后,匿名用户也可以访问这个新闻发布网站.

本节演示如何设置网站集下的个别网站的权限:

打开8001站点 > 网站操作 > 管理内容和结构:

新闻发布节的菜单中选择高级权限,在权限:新闻发布页面中选择操作 > 编辑权限:

在弹出来的对话框中点击确定:

打开权限:新闻发布页面中新出现的设置菜单 > 匿名访问,选择匿名用户可访问的内容为.

现在匿名访问8002站点,发现新闻发布网站已经从网站集的导航栏中隐藏了:

单独设置权限之前

转载于:https://www.cnblogs.com/xwf2160/archive/2010/02/01/1660918.html

MOSS2007中实现表单验证相关推荐

  1. 组件库实战 | 教你如何设计Web世界中的表单验证

    教你如何设计Web世界中的表单验证

  2. angular中的表单验证

    angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时 ...

  3. 掌财社:html5中AmazeUI框架中JS表单验证实战案例展示!

    今天和大家分享个有关于"html5中AmazeUI框架中JS表单验证实战案例展示!"这方面的相关内容知识,让大家对于html5中AmazeUI框架也可以有所了解! 1.需求 做一个 ...

  4. AngularJS中的表单验证机制

    客户端表单验证是AngularJS里面最酷的功能之一. AngularJS表单验证可以让你从一开始就写出一个具有交互性和可响应的现代化HTML5表单. angularJs实现了大多数的HTML5表单域 ...

  5. 关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案

    - 前言 这几天在做uni-app表单验证时遇到了一个问题,按官方文档给出的方法,当需要数据校验时,只需要 1.为uni-forms中的"modelValue"数据设置" ...

  6. JavaScript中的表单验证、正则表达式、数组的使用

    表单验证.正则表达式.数组 字符串的使用 为什么要使用表单验证 表单验证的常用步骤 提交表单的2种方式 文本框对象 为什么要使用正则表达式 正则表达式的两种创建方法 正则表达式的模式 正则表达式常用的 ...

  7. angular学习的一些小笔记(中)之表单验证

    表单验证 我去,我感觉我这个人其实还是一个很傻逼的一个人,老是因为拼错了一个单词或者怎么样就浪费我很长时间,这样真的不行不行,要正确对待这个问题,好了,说正题吧,angular也有表单验证minlen ...

  8. elementUI中from表单验证不起作用的几种常见错误

    最近在使用element写表单的校验,但是经常不起作用,总结一下大概经常会出现下面的几种错误.所以在这里记录一下 首先要特别注意检查一下自己是不是有什么单词拼错了,如required写成require ...

  9. vue 中 Element-UI 表单验证的几种方法

    在开始之前需要把element-ui在vue中引入好,如果没有引入好的话,需要先跟着element-ui的文档进行操作,接下来就可以进行学习了. 第一种:在el-form-item单个添加验证 这种方 ...

最新文章

  1. java使用Jxl和Poi读写Excel
  2. WRF-Chem User Guide3.9.1.1 部分内容翻译
  3. 用python写一个豆瓣通用爬虫并可视化分析
  4. display:none和visible:hidden两者的区别
  5. 王道计算机考研 数据结构 (排序-上)
  6. 计算机系统维护是学什么,《计算机系统维护》教学大纲.doc
  7. [恢]hdu 2186
  8. 如何实现数据大屏在各种场景下的时间展示?
  9. scrapy settings和管道的深入
  10. Office EXCEL 创建图片超链接打不开怎么办 Excel打开图片提示发生了意外错误怎么办
  11. android 找不到手机,找不到 Android 开发者选项,难道我的手机系统没有?| 有轻功 #290...
  12. linux文件损坏怎么修复工具,在Ubuntu操作系统下修复损坏程序包的三种办法
  13. AR(增强现实)开发资源汇总
  14. c++逆天改命进阶--RedBlackTree
  15. About MyBatis——有关Mybatis,自问自答系列
  16. (三十四)期权的盈亏图、平价公式和BS公式
  17. 珍大户《认知世界的经济学》学习笔记 --第19课 时间补偿 第20课 利率 国债 MLF SLF OMO 利率
  18. mvc html 多行文本框,asp.net-mvc – 如何在MVC3中为多行文本框创建多个编辑器模板?...
  19. C#异常处理try catch
  20. CCProcxy代理服务器的配置使用

热门文章

  1. PostgreSQL的 initdb 源代码分析之二十三
  2. ansible的系统模块8
  3. GP两种连接方式性能测试
  4. vue-router 快速入门
  5. 开源docker轻量级管理平台shipyard部署(中文版)
  6. Golang二进制转换十进制代码
  7. 解决Entity Framework中DateTime类型字段异常
  8. 退出窗口[置顶] 退出Activity的方法
  9. Android 和 Chrome OS 融合的可能性
  10. Linux Shell常用技巧(十二)