189 8069 5689

在GlassFish中为Web应用程序设置用户访问权限

在实际应用中GlassFish,我们可能会把用户、权限、角色之类的写在数据库中,用程序对用户访问权限加以控制,也可能会用到Spring AOP的Interceptor来拦截非法访问,但是可能会存在一个问题,如果将超级管理员的用户名和密码写在数据库,万一不小心把超级管理员的用户或角色删掉,怎么办?因此让应用服务器来托管管理员(或其他特殊角色),不但可以避免这个问题,而且也简化了应用程序的用户权限控制(你不必因为害怕普通用户非法访问管理员的访问域而费尽心思使用代码或AOP来控制),而且GlassFish应用服务器在安全性方面很有保证,大大提高了应用程序的安全性。

实验环境:
1、Netbeans 6.1中文版,JDK1.6以上
2、GlassFish V2或Sun Application Server

实验步骤:
1、创建Web应用程序,命名为WebApplicationSecurity,在创建过程中保持默认选项即可,不需要选择其他框架。

2、在WEB页 目录下创建两个文件夹(新建-其他-其他-文件夹),分别命名为secureAdmin和secureUser,一个是管理员的访问域,一个是普通用户的访问域。接下来将严格控制管理员和普通用户的访问权限,普通用户只能访问secureUser目录下的页面,而管理员则两个都可以访问。

3、在secureAdmin目录下创建一个名为pageA的HTML文件,同样的,在secureUser下创建一个名为pageU的HTML文件内容如下:

 

      
      
      
      
  1.  
  2.     
  3.       </font></strong>管理员安全域<strong><font> title></font></strong> </li> <li>   <strong><font> head></font></strong> </li> <li>   <strong><font><body></font></strong> </li> <li>      <strong><font><h1></font></strong>管理员安全域<strong><font> h1></font></strong> </li> <li>   <strong><font> body></font></strong> </li> <li><strong><font> html></font></strong> </li> </ol></pre> </td></tr></tbody></table><p> </p><p>4、在WEB页目录下创建主页index.jsp,将标签中的内容覆盖为:</p></p><p>5、在GlassFish中添加用户权限。</p><p>     首先,展开服务-服务器,选择GlassFish V2,右键-启动。(如果没看到有GlassFish,请安装后点击“添加”)。</p><p>     然后,打开浏览器,输入网址<strong><font>http://localhost:4848</font></strong>访问GlassFish的管理员平台,默认用户是admin,密码是adminadmin。</p><p>     接下来,展开 配置-安全性-领域,选择file。在主窗口打开的页面中,点击“管理用户”按钮,进入用户管理页面,点击新建,创建一个管理员用户,用户名为admin,密码也是admin。同样地,创建一个用户user,密码是user。</p><p>至此,GlassFish下的用户权限已经配置完毕,接下来,我们需要在应用程序的配置文件中添加一些配置来使用这两个用户。</p><p>6、打开WEB-INF目录下的web.xml,点击“安全”选项卡,展开“登陆配置”,选择“基本”,在“域名称”中填入 file。展开“安全角色”,点击“添加”,“角色名称”中填入Admin,同样的方法,添加一个角色名称为User的角色。在“安全约束”选项下,点击“添加安全约束”,“显示名称”中填入AdminConstraint,在“Web资源集合”选项下点击“添加”,“资源名称”为Admin,URL模式为“/secureAdmin/*”,表示Admin这个资源集合映射到secureAdmin下的任何页面,如下图所示:</p><p>      选中“启用验证约束”,编辑“角色名称”,将Admin添加到右边的框中。同样,创建一个显示名为UserConstraint的安全约束,资源集合中的资源名称为User,URL模式为/secureUser/*。注意角色名称应该Admin和User都选择(管理员和普通用户均可进入)。</p><p> </p><p>7、最后,在sun-web.xml中添加WEB应用定义的安全资源与GlassFish上的用户的映射。打开WEB-INF下的sun-web.xml,点击“安全”选项卡,点击“添加安全角色映射”,在“安全角色名”中填入Admin,添加主要用户,主要用户名称为admin。同样,创建一个名为User的安全角色,并添加主要用户名为user的主要用户,如下图所示:</p><p>8、部署,运行项目,点击管理员页面,如果用admin来登陆,将跳转到pageA页面,如果用user来登陆,则遭到拦截。如果你不希望使用“基本认证”来接受用户输入,你也可以自己写一个表单来接受用户输入:</p><table cellspacing="0" cellpadding="2" width="400" border="1"> <tbody> <tr><td><pre><p> </p><pre> <ol> <li><strong><font><form.</font></strong> <font>action</font>=<font>"j_security_check"</font> <font>method</font>=<font>"POST"</font><strong><font>></font></strong> </li> <li>            Username:<strong><font><input</font></strong> <font>type</font>=<font>"text"</font> <font>name</font>=<font>"j_username"</font><strong><font>><br></font></strong> </li> <li>            Password:<strong><font><input</font></strong> <font>type</font>=<font>"password"</font> <font>name</font>=<font>"j_password"</font><strong><font>></font></strong> </li> <li>            <strong><font><input</font></strong> <font>type</font>=<font>"submit"</font> <font>value</font>=<font>"Login"</font><strong><font>></font></strong> </li> <li><strong><font> form></font></strong> </li> </ol></pre> </td></tr></tbody></table><p> </p><p>在web.xml的安全选项中的登陆配置里选中“窗体”,然后选择登陆页面和登陆错误的页面即可。</p> <br> 本文标题:在GlassFish中为Web应用程序设置用户访问权限 <br> URL分享:<a href="http://www.cdxtjz.cn/article/djepioo.html">http://www.cdxtjz.cn/article/djepioo.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/cdjggss.html">阿里云海外服务器优惠(阿里云优惠网)(阿里云海外服务器购买)</a> </li><li> <a href="/article/cdjggdd.html">手机word如何和电脑同步?windows内核同步</a> </li><li> <a href="/article/cdjggeg.html">Redis高可用扩容解决方案(redis高可用扩容方案)</a> </li><li> <a href="/article/cdjggch.html">Linux版微信:让你轻松畅游世界(linux版微信)</a> </li><li> <a href="/article/cdjggsd.html">ps怎么让星星发光,ps做星星发光效果</a> </li> </ul> </div> </div> <footer> <div class="foot container"> <div class="footl fl"> <h3>联系我们</h3> <dl> 您好HELLO!<br> 感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。 </dl> <ul> <li>电话:028- <span>86922220 18980695689</span></li> <li>商务合作邮箱:631063699@qq.com</li> <li>合作QQ: 532337155</li> <li>成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼</li> </ul> </div> <div class="footr fr"> <h3>小谭建站工作室</h3> <dl> 成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务! </dl> <h3>小谭观点</h3> <dl> 相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。<br> 我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。 </dl> </div> </div> <div class="link"> <div class="container"> <span> 友情链接:</span> <a href="http://www.cxycgs.com/" title="大华摄像头" target="_blank">大华摄像头</a>   <a href="http://seo.cdkjz.cn/mobile/" title="手机网站建设" target="_blank">手机网站建设</a>   <a href="http://www.csyarui.cn/" title="成都雪糕加盟" target="_blank">成都雪糕加盟</a>   <a href="http://www.dcwzsj.com/" title="德昌县建网站" target="_blank">德昌县建网站</a>   <a href="http://www.cdwxfdj.com/" title="成都维修发电机公司" target="_blank">成都维修发电机公司</a>   <a href="http://www.cdymzj.com/" title="域名注册" target="_blank">域名注册</a>   <a href="http://www.jcs3366.cn/" title="诗名家名作网" target="_blank">诗名家名作网</a>   <a href="http://www.cxhlcq.com/app/" title="重庆app软件开发" target="_blank">重庆app软件开发</a>   <a href="http://www.hzxinyuan.com/" title="营山产后修复" target="_blank">营山产后修复</a>   <a href="http://www.cdkjz.cn/fangan/door/" title="门户网站建设方案" target="_blank">门户网站建设方案</a>    </div> </div> <div class="copy"> © Copyright 2023 <a href="http://www.cdxtjz.cn/">小谭建站工作室</a>All Rights Reserved.  <a href="https://www.cdxwcx.com" target="_blank">成都网站建设</a> / <a href="https://www.cdcxhl.com/" target="_blank">成都网站建设</a> / <a href="https://www.cdxwcx.com" target="_blank">响应式网站建设</a> / <a href="https://www.cdcxhl.com/zuyong/" target=" _blank">成都服务器租用</a></div> </footer> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>