Programatically Login User with Seam 2 Security Framework

This is a quick one:

When you want to login a user programmatically without checking if the credentials are right or the user is in the IdentityStore with Seam 2, that is pretty easy.

 
final Principal principal = new SimplePrincipal("username");
identity.acceptExternallyAuthenticatedPrincipal(principal);
identity.authenticate();

This will override the Seam 2 Security Framework authentication mechanism and a user with the given username will be logged in, even if the user is not in the IdentityStore of the Application.

I use this regularly when I have some sort of administration interface where I cannot use the default IdentityStore of the application. In this case I provide an own implementation of the required authentication mechanism and just log in the the user with the approach described above. When doing this I add a role to the logged in user (via identity.addRole("myRole")), so I can use all the Seam goodies like the Authorization Annotations (@Restrict) or checks like Identity.loggedIn.

Autostart resque for Gitlab on CentOS 6.2 with RVM installed

In my previous blog post I described how to install Gitlab on a CentOS 6.2 machine. The Resque demon did not start automatically, so I thought I’ll create a little startup script for the resque.sh in the /var/www/gitlabhq directory, so it would autostart. As it turned out, it was harder than expected, because I use RVM. I assume, that you use the installation script I linked in my last blog post to install gitlab, otherwise the following steps could be different for you…. Here are the necessary steps to get it working:

Weiterlesen

Installing Gitlab on CentOS 6.2

I had a hard time installing Gitlab on a CentOS 6.2 machine and I tried several tutorials. I was lucky and I found an awesome installation script by Mattias Ohlsson which installs Ruby, Gitlab, Gitoline and Apache with the Passenger Module. On my machine I was not able to create new repositories with Gitlab.

The solution for the problem was, that the ‚git‘ user had to be added to the AllowedUsers in /etc/ssh/sshd_config .