大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
提供一个思路哈:
成都创新互联拥有十载的建站服务经验,在此期间,我们发现较多的客户在挑选建站服务商前都非常的犹豫。主要问题集中:在无法预知自己的网站呈现的效果是什么样的?也无法判断选择的服务商设计出来的网页效果自己是否会满意?成都创新互联业务涵盖了互联网平台网站建设、移动平台网站制作、网络推广、定制网站开发等服务。成都创新互联网站开发公司本着不拘一格的网站视觉设计和网站开发技术相结合,为企业做网站提供成熟的网站设计方案。
1、user类中定义两个方法,分别根据权限名和权限路径判断用户是否有对应权限
2、定义一个拦截器,拦截所有请求,根据路径判断是否有操作权限
3、页面调用user的权限判断方法,决定是否显示相应的权限
在web应用中,对页面的访问控制通常通过程序来控制,流程为:
登录 - 设置session - 访问受限页面时检查session是否存在,如果不存在,禁止访问
对于较小型的web应用,可以通过tomcat内置的访问控制机制来实现权限控制。采用这种机制的好处是,程序中无需进行权限控制,完全通过对tomcat的配置即可完成访问控制。
为了在tomcat页面设置访问权限控制,在项目的WEB-INFO/web.xml文件中,进行如下设置:
Java代码 复制代码
1. web-app
2. !--servlet等其他配置--
3. security-constraint
4. web-resource-collection
5. web-resource-nameMy Test/web-resource-name
6. url-pattern/admin/*/url-pattern
7. /web-resource-collection
8. auth-constraint
9. role-namerole1/role-name
10. role-nametomcat/role-name
11. /auth-constraint
12. /security-constraint
13. login-config
14. auth-methodBASIC/auth-method
15. realm-nameMy Test/realm-name
16. /login-config
web-app
!--servlet等其他配置--
security-constraint
web-resource-collection
web-resource-nameMy Test/web-resource-name
url-pattern/admin/*/url-pattern
/web-resource-collection
auth-constraint
role-namerole1/role-name
role-nametomcat/role-name
/auth-constraint
/security-constraint
login-config
auth-methodBASIC/auth-method
realm-nameMy Test/realm-name
/login-config
其中,url-pattern中指定受限的url,可以使用通配符*,通常对整个目录进行访问权限控制。
auth-constraint中指定哪些角色可以访问url-pattern指定的url,在role-name中可以设置一个或多个角色名。
使用的角色名来自tomcat的配置文件$/conf/tomcat-users.xml。
login-config中设置登录方式,auth-method的取值为BASIC或FORM。如果为BASIC,浏览器在需要登录时弹出一个登录窗口。如果为FORM方式,需要指定登录页面和登录失败时的提示信息显示页面。
使用FORM方式的配置样例如下:
Java代码 复制代码
1. login-config
2. auth-methodFORM/auth-method
3. realm-nameExample Form-Based Authentication Area/realm-name
4. form-login-config
5. form-login-page/login.jsp/form-login-page
6. form-error-page/error.jsp/form-error-page
7. /form-login-config
8. /login-config
login-config
auth-methodFORM/auth-method
realm-nameExample Form-Based Authentication Area/realm-name
form-login-config
form-login-page/login.jsp/form-login-page
form-error-page/error.jsp/form-error-page
/form-login-config
/login-config
其中的form-login-page指定登录页面url,form-error-page指定登录失败时的提示页面url。
登录页面中,form的action,以及其中的用户名和密码两个参数的名称,都应取固定的值。登录的后台处理程序为j_security_check;用户名和密码的参数名称分别为:j_username和j_password。
如下是登录页面(如:login.jsp)的一段示例代码:
Java代码 复制代码
1. form method="POST" action='%= response.encodeURL("j_security_check") %'
2. table border="0" cellspacing="5"
3. tr
4. th align="right"Username:/th
5. td align="left"input type="text" name="j_username"/td
6. /tr
7. tr
8. th align="right"Password:/th
9. td align="left"input type="password" name="j_password"/td
10. /tr
11. tr
12. td align="right"input type="submit" value="Log In"/td
13. td align="left"input type="reset"/td
14. /tr
15. /table/form
import java.io.IOException;/××只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限是644.\x0d\x0a×/public class FilePermission{public static void main( String[] args ){try {File file = new File("/home/test3.txt");\x0d\x0aif (file.createNewFile()){\x0d\x0aSystem.out.println("File is created!");\x0d\x0a//Runtime.getRuntime().exec("chmod 777 /home/test3.txt");\x0d\x0afile.setExecutable(true);//设置可执行权限\x0d\x0afile.setReadable(true);//设置可读权限\x0d\x0afile.setWritable(true);//设置可写权限\x0d\x0aSystem.out.println("is execute allow : " + file.canExecute());\x0d\x0aSystem.out.println("is read allow : " + file.canRead());\x0d\x0aSystem.out.println("is write allow : " + file.canWrite());}else{System.out.println("File already exists.");}