You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shiro.apache.org by Steinar Bang <sb...@dod.no> on 2024/03/04 20:08:17 UTC
Possible to programmatically open URLs
If I have a shiro.ini like so:
[main]
authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter
shiro.loginUrl = /login
shiro.unauthorizedUrl = /unauthorized
[users]
[urls]
/ = anon
/api/** = anon
/album/** = authc
Ie. /album/ requires a login.
Is it then possible to programmatically add anon access to children of /album/?
I.e. can I programmatically do the equivalent of the following?
[urls]
/ = anon
/api/** = anon
/album/picture1 = anon
/album/picture2 = anon
/album/** = authc
I have tried to google but I haven't found any examples of how to do
it. It should be possible since e.g. the shiro-jaxrs code does
something similar?
Thanks!
- Steinar
Re: Possible to programmatically open URLs
Posted by Steinar Bang <sb...@dod.no>.
>>>>> Lenny Primak <le...@public.gmane.org>:
> What I think you are asking is hybrid configuration. You would have to override WebEnvironment class. I believe this is well documented already
Thanks!
So I tried googling "override webenvironment hybrid configuration" but
that didn't come up with anything useful.
Googling "override webenvironment shiro" got me here:
https://shiro.apache.org/web.html
But that page didn't make me any wiser..
I think that what I want to do is to programmatically adding filters
linked to paths.
But what fiters to add and where to add them, is still a mystery.
Re: Possible to programmatically open URLs
Posted by Lenny Primak <le...@flowlogix.com>.
Hi,
What I think you are asking is hybrid configuration. You would have to override WebEnvironment class. I believe this is well documented already
> On Mar 4, 2024, at 4:05 PM, Steinar Bang <sb...@dod.no> wrote:
>
>
>>
>>>>>> Lenny Primak <le...@public.gmane.org>:
>
>> Have you actually tried it? It’s unusual but should work if I understand your example correctly
>
> Oh the shiro.ini example as shown will work, no problem.
>
> But I don't want to set the access of /album/picture1 and
> /album/picture2 in the shiro.ini
>
> What I want to do is to have a shiro.ini like so:
>
> [urls]
> / = anon
> /api/** = anon
> /album/** = authc
>
> And then I would like to *programatically* set anon access on
> /album/picture1 and /album/picture2.
>
Re: Possible to programmatically open URLs
Posted by Steinar Bang <sb...@dod.no>.
>>>>> Lenny Primak <le...@public.gmane.org>:
> Have you actually tried it? It’s unusual but should work if I understand your example correctly
Oh the shiro.ini example as shown will work, no problem.
But I don't want to set the access of /album/picture1 and
/album/picture2 in the shiro.ini
What I want to do is to have a shiro.ini like so:
[urls]
/ = anon
/api/** = anon
/album/** = authc
And then I would like to *programatically* set anon access on
/album/picture1 and /album/picture2.
Re: Possible to programmatically open URLs
Posted by Lenny Primak <le...@flowlogix.com>.
Have you actually tried it? It’s unusual but should work if I understand your example correctly
> On Mar 4, 2024, at 2:08 PM, Steinar Bang <sb...@dod.no> wrote:
>
> If I have a shiro.ini like so:
>
> [main]
> authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter
> shiro.loginUrl = /login
> shiro.unauthorizedUrl = /unauthorized
>
> [users]
>
> [urls]
> / = anon
> /api/** = anon
> /album/** = authc
>
> Ie. /album/ requires a login.
>
> Is it then possible to programmatically add anon access to children of /album/?
>
> I.e. can I programmatically do the equivalent of the following?
>
> [urls]
> / = anon
> /api/** = anon
> /album/picture1 = anon
> /album/picture2 = anon
> /album/** = authc
>
> I have tried to google but I haven't found any examples of how to do
> it. It should be possible since e.g. the shiro-jaxrs code does
> something similar?
>
> Thanks!
>
>
> - Steinar
>