JSP
admin 권한을 가지고 있는 사람만 상품 등록하기 설정
9400
2023. 1. 18. 12:50
<!-- tomcat-users.xml의
<user username="chiwon" password="java" roles="admin"/> 만 등록가능 -->
<%
//admin권한을 가지고 있는 사용자만 등록 버튼이 보이도록 처리
if(request.isUserInRole("admin")){
%>
<div class="form-group row">
<div class="col-sm-offset-2 col-sm-10">
<a href="addProduct.jsp" class="btn btn-primary">등록</a>
</div>
</div>
<%
}
%>
WEB.XML
<security-constraint>
<!-- 상품을 추가할 수 있는 URL인 /addProduct.jsp에 접근하려면 admin이라는 권한이 있어야함
admin이라는 권한을 갖고 있는 user는 chiwon이 있음. -->
<web-resource-collection>
<web-resource-name>JSPBook</web-resource-name>
<url-pattern>/addProduct.jsp</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<description></description>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
tomcat-user.xml
<user username="chiwon" password="java" roles="admin"/>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%
String username = request.getRemoteUser();
%>
<!-- java세계의 변수 username의 값을 jstl세계의 변수 username에 할당 -->
<c:set var="username" value="<%=username%>" />
<nav class="navbar navbar-expand navbar-dark bg-dark">
<!-- container : 내안에 내용 있다. -->
<div class="container">
<div class="navbar-header" style="width:100%">
<div style="float:left;">
<a class="navbar-brand" href="welcome.jsp">Home</a>
</div>
<div style="float:right;">
<span class="navbar-brand">
<!-- 로그인을 했다면 -->
<c:if test="${fn:length(username)>0}" >
${username}님 환영합니다!
<a href="/logout.jsp" class="btn btn-sm btn-success pull-right">logout</a>
</c:if>
<!-- 로그인을 안했다면 -->
<c:if test="${fn:length(username)==0}" >
<a href="addProduct.jsp" >로그인을 해주세요</a>
</c:if>
</span>
</div>
</div>
</div>
</nav>