| | |
| | | import java.io.IOException;
|
| | | import java.text.MessageFormat;
|
| | |
|
| | | import javax.inject.Inject;
|
| | | import javax.inject.Singleton;
|
| | | import com.google.inject.Inject;
|
| | | import com.google.inject.Singleton;
|
| | | import javax.servlet.FilterChain;
|
| | | import javax.servlet.ServletException;
|
| | | import javax.servlet.ServletRequest;
|
| | |
| | | return;
|
| | | } else {
|
| | | // check user access for request
|
| | | if (user.canAdmin() || canAccess(user, requestType)) {
|
| | | if (user.canAdmin() || !adminRequest) {
|
| | | // authenticated request permitted.
|
| | | // pass processing to the restricted servlet.
|
| | | newSession(authenticatedRequest, httpResponse);
|
| | |
| | | // pass processing to the restricted servlet.
|
| | | chain.doFilter(authenticatedRequest, httpResponse);
|
| | | }
|
| | |
|
| | | private boolean canAccess(UserModel user, RpcRequest requestType) {
|
| | | switch (requestType) {
|
| | | case GET_PROTOCOL:
|
| | | return true;
|
| | | case LIST_REPOSITORIES:
|
| | | return true;
|
| | | default:
|
| | | return user.canAdmin();
|
| | | }
|
| | | }
|
| | | } |
| | | }
|