我正在用 Java 编写一个 Web 应用程序,它有两种不同类型的用户 Student 和 Staff。我想为所有用户集中登录,但学生必须查看与教师不同的页面。我目前实现这一点的方式是使用一个登录表单并获取用户名和密码并运行两个查询,一个在学生表上,一个在学生表上职员表。如果我从用户表中获得成功响应,则我将用户登录到学生页面,否则我将查询教师表,如果我得到成功的结果,我将登录到教师页面,否则我会给出用户名和密码无效的错误消息。我想知道的是如何改进这一点,只做一个查询,我不介意编辑数据库来促进这一点。
问问题
957 次
2 回答
1
也许您可以在表单中添加一个下拉列表,以便他们可以选择是否要以用户或员工身份登录?
于 2012-09-08T02:16:03.910 回答
1
这对于一个明确的答案来说太开放了,但是将authentication与authentication分开是很常见的。
一种方法是创建一个用户表和一个角色表,其中用户表处理身份验证,角色表控制授权。用户通过连接表与一个角色(甚至可能是多个角色)相关联。
使用这种方法,login 仅针对 user 表进行查询以确定一个人是有效用户,应用程序的其他部分查询与已登录用户关联的一个或多个角色,以确定是否可以访问特定功能允许。
于 2012-09-08T02:59:31.280 回答