diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java
new file mode 100644
index 0000000..53fbcf6
--- /dev/null
+++ b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java
@@ -0,0 +1,24 @@
+package eu.mulk.mulkcms2.benki.login;
+
+import io.quarkus.security.Authenticated;
+import java.net.URI;
+import java.net.URISyntaxException;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Response;
+import org.jboss.logging.Logger;
+
+@Path("/login")
+public class LoginResource {
+
+  private static final Logger log = Logger.getLogger(LoginResource.class);
+
+  @GET
+  @Authenticated
+  public Response getRoot(@HeaderParam("referer") @DefaultValue("/posts") String referer)
+      throws URISyntaxException {
+    return Response.seeOther(new URI(referer)).build();
+  }
+}
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java
new file mode 100644
index 0000000..06a184c
--- /dev/null
+++ b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java
@@ -0,0 +1,23 @@
+package eu.mulk.mulkcms2.benki.login;
+
+import io.quarkus.qute.TemplateData;
+import io.quarkus.security.identity.SecurityIdentity;
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+@Named("LoginStatus")
+@RequestScoped
+@TemplateData
+public class LoginStatus {
+
+  @Inject SecurityIdentity identity;
+
+  public boolean loggedIn() {
+    return !identity.isAnonymous();
+  }
+
+  public String getUserName() {
+    return identity.getPrincipal().getName();
+  }
+}
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
index 2ffcdd5..7b2395d 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
@@ -64,7 +64,7 @@
   }
 
   @GET
-  @Path("/{pageName}")
+  @Path("{pageName}")
   @Produces(TEXT_HTML)
   @Authenticated
   public TemplateInstance getPage(@PathParam("pageName") String pageName) {
@@ -82,7 +82,7 @@
   }
 
   @POST
-  @Path("/{pageName}")
+  @Path("{pageName}")
   @Authenticated
   @Transactional
   @Produces(APPLICATION_JSON)
@@ -136,7 +136,7 @@
   }
 
   @GET
-  @Path("/{pageName}/revisions")
+  @Path("{pageName}/revisions")
   @Produces(TEXT_HTML)
   @Authenticated
   public TemplateInstance getPageRevisions(@PathParam("pageName") String pageName) {
diff --git a/src/main/resources/META-INF/resources/cms2/base.css b/src/main/resources/META-INF/resources/cms2/base.css
index bad03b6..06873d5 100644
--- a/src/main/resources/META-INF/resources/cms2/base.css
+++ b/src/main/resources/META-INF/resources/cms2/base.css
@@ -125,7 +125,7 @@
   z-index: 1;
 }
 
-body > nav > ol > li > a {
+body > nav > ol > li > * {
   text-decoration: none;
   display: block;
   padding: 5px;
@@ -136,10 +136,19 @@
   background-color: #f8f8f8;
 }
 
-body > nav li[data-site-section="About"] {
+body > nav li[data-site-section="About"], body > nav li[data-site-section="Login"] {
   margin-top: 1em;
 }
 
+.login-text {
+  font-style: italic;
+}
+
+.login-name {
+  font-style: normal;
+  font-family: cursive;
+}
+
 body > main {
   grid-area: main;
 
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index a38af40..e966bda 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -28,6 +28,8 @@
 %prod.quarkus.hibernate-orm.log.sql = false
 
 # Authentication
+quarkus.http.auth.proactive = true
+
 quarkus.oidc.auth-server-url = https://login.benkard.de/auth/realms/master
 quarkus.oidc.client-id = mulkcms
 quarkus.oidc.application-type = web-app
diff --git a/src/main/resources/templates/tags/navbar.html b/src/main/resources/templates/tags/navbar.html
index a6ba163..0259362 100644
--- a/src/main/resources/templates/tags/navbar.html
+++ b/src/main/resources/templates/tags/navbar.html
@@ -5,5 +5,17 @@
   <li class='{#if siteSection == "Bookmarks"}this-page{/} indented' data-site-section="Bookmarks"><a href="/bookmarks">Bookmarks</a></li>
   <li class='{#if siteSection == "Lazy Chat"}this-page{/} indented' data-site-section="Lazy Chat"><a href="/lazychat">Lazy Chat</a></li>
   <li class='{#if siteSection == "Wiki"}this-page{/}' data-site-section="Wiki"><a href="/wiki/Home">Wiki</a></li>
+
   <li class='{#if siteSection == "About"}this-page{/}' data-site-section="About"><a href="/about">Contact Info</a></li>
+
+  {#if inject:LoginStatus.loggedIn}
+  <li class='{#if siteSection == "Login"}this-page{/} login-box logged-in' data-site-section="Login">
+    <div class="login-text">Logged in as: <span class="login-name">{inject:LoginStatus.userName}</span></div>
+  </li>
+  {#else}
+  <li class='{#if siteSection == "Login"}this-page{/} login-box logged-out' data-site-section="Login">
+    <div class="login-text">Not logged in.</div>
+    <a href="/login">Log In</a>
+  </li>
+  {/if}
 </ol>
