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

疆括仕网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

在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> 分享路径:<a href="https://tyhkzb.com/article/djepioo.html">https://tyhkzb.com/article/djepioo.html</a> </div> </div> <div class="othernews"> <h3>其他资讯</h3> <div class="othernews_list"> <ul> <li> <a href="/article/codhdhh.html">域名申请时间,域名申请时间怎么算2022年更新(域名申请多长时间)</a> </li><li> <a href="/article/codhcds.html">怎么关闭电脑的配置更新?(windows如何才能不更新系统更新)</a> </li><li> <a href="/article/codhceo.html">勒索软件团伙使用泄露的勒索软件代码攻击Windows、Linux系统</a> </li><li> <a href="/article/codhcco.html">学习超级权限管理:linux如何实现?(超级权限linux)</a> </li><li> <a href="/article/codhcee.html">现在邮局还可以租信箱吗?每个邮局都可以?(邮局怎么租邮箱账号)</a> </li> </ul> </div> </div> </div> </div> <div class="footer"> <div class="footer_content"> <div class="footer_content_top clear"> <div class="content_top_share fl"> <div><img src="/Public/Home/img/logo.png"></div> <div class="top_share_content"> <dd>分享至:</dd> <dt class="bdsharebuttonbox clear" id="share"> <a href="#" class="bds_tsina iconfont fl" data-cmd="tsina" title="分享到新浪微博"></a> <a href="#" class="bds_sqq iconfont fl" data-cmd="sqq" title="分享到QQ好友"></a> <a href="#" class="bds_weixin iconfont fl" data-cmd="weixin" title="分享到微信"></a> <a href="#" class="bds_weixin iconfont fl" data-cmd="tieba" title="分享到贴吧"></a> </dt> <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> </div> </div> <div class="content_top_left fl clear"> <div class="top_left_list fl"> <dd><a href="/about/">关于我们</a></dd> <dt> <a href="/about/#gsjj">公司简介</a> <a href="/about/#fzlc">发展历程</a> </dt> </div> <div class="top_left_list fl"> <dd><a href="/service/">服务项目</a></dd> <dt> <a href="/service/">高端网站建设</a> <a href="/miniprogram/">小程序开发</a> <a href="/service/app.html">APP开发</a> <a href="/service/yingxiao.html">网络营销</a> </dt> </div> <div class="top_left_list fl"> <dd><a href="/jianzhan/">建站知识</a></dd> <dt> <a href="/jianzhan/">行业新闻</a> <a href="/jianzhan/">建站学堂</a> <a href="/jianzhan/">常见问题</a> </dt> </div> <div class="top_left_list fl"> <dd><a href="/contact/">联系我们</a></dd> <dt> <a href="/contact/#lxwm">公司地址</a> <a href="/contact/#rczp">人才招聘</a> </dt> </div> </div> <div class="content_top_right addressR fr"> <div class="top_right_title addressf_title"> <a href="javascript:;" class="on">成都</a> <a href="javascript:;">大悟县</a> </div> <div class="top_right_content addressf"> <div class="right_content_li on"> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">电话:028-86922220</dt> </div> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">地址:成都市太升南路288号锦天国际A幢1002号</dt> </div> </div> <div class="right_content_li"> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">电话:028-86922220</dt> </div> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">地址:湖省孝感市大悟县城关镇鄂北物流城13栋125号</dt> </div> </div> </div> </div> </div> </div> <div class="footer_content_copyright clear">版权所有:大悟县疆括仕商贸有限公司 <a href="http://beian.miit.gov.cn/" rel="nofollow" target="_blank">鄂ICP备2025139637号-7</a> </div> </div> <!--浮窗--> <div class="FloatingWindow clear"> <a href="tencent://message/?uin=1683211881&Site=&Menu=yes" class="FloatingWindow_list fr"> <div class="FloatingWindow_list_title"> <dd class="iconfont"></dd> <dt><span>在线</span>咨询</dt> </div> </a> <a href="javascript:;" class="FloatingWindow_list fr"> <div class="FloatingWindow_list_title"> <dd class="iconfont"></dd> <dt>服务热线</dt> </div> <div class="FloatingWindow_list_down fadeInRight animated">服务热线:028-86922220</div> </a> <a href="javascript:;" class="FloatingWindow_list fr STop"> <div class="FloatingWindow_list_title"> <dd class="iconfont"></dd> <dt>TOP</dt> </div> </a> </div> <script src="/Public/Home/js/jquery-1.8.3.min.js"></script> <script src="/Public/Home/js/comm.js"></script> <script src="/Public/Home/js/wow.js"></script> <script src="/Public/Home/js/common.js"></script> </body> </html> <script> $(".cont 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>