Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move authentification and authorization from frontend to service #1

Merged
merged 35 commits into from
Oct 30, 2012

Conversation

thomaskrause
Copy link
Owner

Until now the annis-gui was responsible for authentification and authorization. The annis-service itself was not secured at all (other than only listening to localhost).

This branch moves the responsibility to the service. Thus the search functionality can be exposed to the outer world using a HTTP proxy and the service.

The branch also replaces the self made security manager with the Apache Shiro library. This powerful external library has several advantages

  • powerful abstraction and more fine grained access control (e.g. only allow count but not subgraph retrievial for a specific user)
  • much more tested implementation
  • support for salted passwords
  • integration of other authentification techniques like LDAP
  • administrator can configure the security model with the shiro.ini file

(just an Apache Shiro integration test)
Conflicts:
	annis-service/src/main/java/annis/service/internal/AnnisServiceRunner.java
- most calls on jdbcTemplate use the getJdbcOperations() (which is more or ess equal to the JdbcTemplate) anyway
- also removing some unused functions
…ith annis-admin

also implemented SQL queries for the user configuration storage/retrieval
…I side

for now this just compiles but is not checked for functionality :)
Conflicts:
	annis-service/src/main/java/annis/service/internal/AnnisServiceRunner.java
- fixing user config update parameter order
- avoid reading user properties if anonymous user
- actually show the right corpora for a selection, there was some confusion with old code that made it non-working
thomaskrause added a commit that referenced this pull request Oct 30, 2012
Move authentification and authorization from frontend to service

Until now the annis-gui was responsible for authentification and authorization. The annis-service itself was not secured at all (other than only listening to localhost).

This branch moves the responsibility to the service. Thus the search functionality can be exposed to the outer world using a HTTP proxy and the service.

The branch also replaces the self made security manager with the Apache Shiro library. This powerful external library has several advantages

powerful abstraction and more fine grained access control (e.g. only allow count but not subgraph retrievial for a specific user)
much more tested implementation
support for salted passwords
integration of other authentification techniques like LDAP
administrator can configure the security model with the shiro.ini file
@thomaskrause thomaskrause merged commit 3aff760 into master Oct 30, 2012
thomaskrause added a commit that referenced this pull request Sep 29, 2013
Precedence optimization fails when applied to spans which cover more than one token

Take e.g. this query on pcc2
NP & NP & NP &  #1 . #2 & #2 . #3

In ANNIS 2 this gave us 2 results, but since ANNIS 3 incorrectly applies the precedence optimization the query gets translated to

NP & NP & NP &  #1 . #2 & #2 . #3 & #1 . #3

and has only 1 match. The correct optimization would be

NP & NP & NP &  #1 . #2 & #2 . #3 & #1 .* #3

This commit adds proper test cases for this situation and gives a fix
thomaskrause added a commit that referenced this pull request Nov 5, 2013
thomaskrause added a commit that referenced this pull request Nov 20, 2013
tok="abc" . node

which could be either

tok="abc" & node & #1 . #2
or
tok & "abc" & node &  #1 = #2 & #2 . #3
thomaskrause pushed a commit that referenced this pull request Oct 15, 2014
update changes from korpling for September
thomaskrause added a commit that referenced this pull request Feb 15, 2016
… node definitions.

This removes an ambiquity for the "!=" token. E.g.

tok!="the"

could be interpreted as "All token which don't have "the" as value" or as

tok & "the" & #1 != #2

The latter one is semantically invalid (no binding) so the ambiquity is solved by not allowing the AQL operator "!=" and "==" in short AQL definitions.

This fixes korpling#494.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant