我正在尝试配置 Apache 和 Keyloak 以根据用户的角色授予他们访问权限。
我尝试从一个简单的配置开始。因此我创建了名为的目录demo1
,/var/www/
然后dir1
在dir2
其中,接下来我在和demo1
中创建了两个 html 文件。dir1
dir2
总结 :
/var/www---demo1 ----- dir1 --- file1.html
|
--- dir2 --- file2.html
我已经配置了keycloak如下:
我已经将 Apache 配置如下:
Listen 8080 http
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
#this is required by mod_auth_openidc
OIDCCryptoPassphrase passphrase
OIDCProviderMetadataURL http://192.168.56.101:8080/auth/realms/master/.well-known/openid-configuration
OIDCClientID demo-apache
OIDCClientSecret ba002619-5ab5-41b4-aed3-338e4a3235ef
OIDCRedirectURI http://192.168.56.104:8080/demo1/redirect_uri
# maps the prefered_username claim to the REMOTE_USER environment variable #
OIDCRemoteUserClaim preferred_username
<Location /demo1/dir1 >
AuthType openid-connect
Require valid-user
Loglevel debug
</Location>
<Location /demo1/dir2 >
AuthType openid-connect
Require valid-user
Loglevel debug
</Location>
</VirtualHost>
当我尝试访问时,/demo1/dir1/
系统提示我输入用户名/密码,但dir1
我得到的不是,而是404 Not Found The requested URL /demo1/redirect_uri was not found on this server
。
我如何获取dir1
和的内容dir2
?
任何帮助,将不胜感激。
谢谢
答案1
您还需要demo1/redirect_uri
按照 README.md 和示例中所指出的那样进行保护auth_openidc.conf
。