(一)登录
asp.net 2.0中,新增了许多新的功能和控件。其中,新增的登陆控件可谓使得web应用的设计更加得心应手。 什么是登陆控件呢?就是我们平常在web应用中经常要用到的用户注册,登陆,忘记密码,登陆后根据权限的不同而显示不同的页面等功能,现在在asp.net 2.0中都已经可以由提供的控件来实现了。
asp.net 2.0中,为了更方便创建和管理用户,以及对 web 应用程序中的页进行密码保护,引进了新的框架membership。新的框架包含用于处理身份验证和授权的新增功能,能够同时满足 web 站点管理员和开发人员的需要。web 站点管理员可以利用新的 web 站点管理工具来创建新的用户和角色,以及控制对 web 应用程序中页面的访问。web 站点管理工具是一组预先编写的 asp.net页,不具备编程技巧的用户可以使用它们来配置 web 应用程序。利用membership api,编程人员可以很方便地使用拖拉控件的方法,再加以少量的代码,就可以完全实现对用户,角色权限等的管理,还可以自定义做扩充。
1.建立网站项目
2.asp.net配置
安全设置选项被分为三部分:用户,角色和规则。
登录的身份验证可以配置为基于forms和windows的。
3.使用登录控件
说明:用户登录后,显示“退出”的提示,通过loginstatus控件来实现。在控件的属性中,有logoutaction和logoutpageurl两个属性,可以来设定注销时是仅仅刷新当前页面、转向到某个页面或者转向到登录页面。
如何设定loginpageurl(登录的页面),运行程序时,当按这个控件的显示的login链接时,总是转到根文件夹下的login.aspx,而实际的登录文件在/login/login.aspx 。如何解决?
查了下资料,原来登录的url是在web.config中设置的。如果是用form验证登录,缺省的web.config是这样写的: <system.web>
<authentication mode="forms" />
</system.web>
需要修改成如下的样子: <system.web>
<authentication mode="forms">
<forms loginurl="~/member/login.aspx"></forms>
</authentication>
</system.web>
(二)站点导航
1.三种导航控件
menu:使用一菜单显示站点的结构。
treeview:用一个可展开的树显示站点的结构
sitemappath:用于显示终端用户处于相对于站点结构的具体位置
2.web.sitemap 导航xml文件 <?xml version="1.0" encoding="utf-8" ?>
<sitemap xmlns="http://schemas.microsoft.com/as.net/sitemap-file-1.0" >
<sitemapnode title="首页" url="sitemaptest.aspx" >
<sitemapnode title="产品" roles="*">
<sitemapnode title="windows" url="sitemaptest.aspx?id=windows" />
<sitemapnode title=" office " url="sitemaptest.aspx?id=office" />
<sitemapnode title="mobile devices" url="sitemaptest.aspx?id=mobile" />
<sitemapnode title="business solutions" url="sitemaptest.aspx?id=business" />
<sitemapnode title="servers" url="sitemaptest.aspx?id=servers" />
<sitemapnode title="developer tools" url="sitemaptest.aspx?id=tools" />
<sitemapnode title="games and xbox" url="sitemaptest.aspx?id=games" />
<sitemapnode title="all products" url="sitemaptest.aspx?id=all" />
</sitemapnode>
<sitemapnode title="资源" roles="*">
<sitemapnode title="支持" roles="*">
<sitemapnode title="修改密码" url="~/login/changepassword.aspx" />
<sitemapnode title="knowledge base" url="sitemaptest.aspx?id=knowledge" />
</sitemapnode>
<sitemapnode title="downloads" url="sitemaptest.aspx?id=downloads" />
<sitemapnode title="windows update" url="sitemaptest.aspx?id=windowsupdate" />
<sitemapnode title="office update" url="sitemaptest.aspx?id=officeupdate" />
<sitemapnode title="learning tools">
<sitemapnode title="training & certification" url="sitemaptest.aspx?id=training" />
<sitemapnode title="books" url="sitemaptest.aspx?id=books" />
<sitemapnode title="events & webcasts" url="sitemaptest.aspx?id=events" />
<sitemapnode title="patterns & practices" url="sitemaptest.aspx?id=patterns" />
</sitemapnode>
<sitemapnode title="community" url="sitemaptest.aspx?id=community" />
<sitemapnode title="security" url="sitemaptest.aspx?id=security" />
</sitemapnode>
<sitemapnode title="rss" roles="*">
<sitemapnode title="公司关系" url="sitemaptest.aspx?id=relations" />
<sitemapnode title="rsssite" url="~/rss/rsssite.aspx" />
<sitemapnode title="careers" url="sitemaptest.aspx?id=careers" />
<sitemapnode title="about this site" url="sitemaptest.aspx?id=about" />
</sitemapnode>
</sitemapnode>
</sitemap>
web.sitemap文件必须包含根结点sitemap。一张站点地图由一系列相联系的sitemapnode对象组成。这些sitemapnode以一种层次方式联系在一起。该层次包含单个根结点-它是该层中唯一的一个没有父结点的结点,代表首页。在该父sitemapnode结点下,可以有若干个子sitemapnode结点,分别按层次结构代表了网站的各子栏目(留意一下上例中,各个子结点之间的包含关系)。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器