如果是TOMCAT的话
修改
\conf 下的tomcat-users.xml文件,在里面添加个用户就成了
如果是其他的服务器的话,那就要参照具体的配置文件了

解决方案 »

  1.   

    一个可行的办法是通过数据库来建立你的角色认证
    以tomcat为例:server.xml中当然选择数据库的Realm,如:(mysql为例)
    <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
             driverName="org.gjt.mm.mysql.Driver"
             connectionURL="jdbc:mysql://localhost/数据源"
              connectionName="数据库用户名" connectionPassword="数据库密码"
             userTable="数据表名" userNameCol="userId" userCredCol="password"
             userRoleTable="user_role" roleNameCol="role_name" />
    其中userTable可以作为你的注册的用户(用户ID,用户密码)
    userRoleTable就是分配给他的用户角色(对应userTable中的用户ID,和角色名字(role_name字段))当然你也可以用类似的UserDatabaseRealm、MemoryRealm
    tomcat-users.xml中的就是属于UserDatabaseRealm的当然你需要在你的应用中(web.xml):
      <security-constraint>
        <web-resource-collection>
    <web-resource-name>XXXX</web-resource-name>
    <url-pattern>/XXX.do</url-pattern>
        </web-resource-collection>
        <web-resource-collection>
    <web-resource-name>XXXX</web-resource-name>
    <url-pattern>/XXXX.do</url-pattern>
        </web-resource-collection>
        <auth-constraint>
    <role-name>role_name</role-name>---对应userRoleTable中的role_name字段值
        </auth-constraint>
      </security-constraint>
    和:
      <security-role>
           <role-name>role_name</role-name>---对应userRoleTable中的role_name字段值
      </security-role>不知道这种方法符合不符合你的要求,当然可能还有更好的办法,呵呵,不过我还不知道,希望有好的办法的兄弟们告诉一二。还有一种比较简单的方法:你为了防止用户通过直接输入URL路径的方式来下载内容,那么你可以把需要保护的内容方放在WEB-INF文件夹下,通过控制器来访问(当然是通过用户认证登陆来实现)
      

  2.   

    多谢shuai007(城市劣人),你说的简单的方法已经可以实现我的要求。
    我还想请问一下,第一种方法有什么优点,据说是可以实现单点登陆,是这样吗?
      

  3.   

    第一种方法的优点是很明显的,它很好的实现了权限和角色的关系。(角色可以多样,相应的权限也就可以多样化)
    比如普通用户可以访问一些公开的内容,注册用户可以享受一些特殊的待遇,当然还可以更高级的VIP用户,你的资源可以分别划分处理。
    我学JAVA也不是很长时间,大家一起学习,有说错的地方还请高手指正!:)