         }
         
         do {
-            try request.auth.login(UsernamePassword(username: username, password: password))
+            let remember: Bool = request.data["remember"]?.bool ?? false
+            
+            try request.auth.login(UsernamePassword(username: username, password: password), persist: remember)
             
             // Generate redirect path
             var redirect = "/admin/dashboard"
             if let next: String = request.query?["next"]?.string, !next.isEmpty {
                 redirect = next
             }
-            
-            // TODO, "remember me"
         
             return Response(redirect: redirect).flash(.success, "Logged in as \(username)")
         } catch {

        drop = droplet
    }
    
    /**
     * Landing page
     *
     * - param: Request
     * - return: Response
     */
    public func landing(request: Request) throws -> ResponseRepresentable {
        do {
            guard let user: BackendUser = try request.auth.user() as? BackendUser else {
                throw Abort.custom(status: .forbidden, message: "Forbidden")

        return Response(redirect: "/admin/login").flash(.success, "Password is reset")
    }
    
    /// Login form
    ///
    /// - Parameter request: Request
    /// - Returns: View
    /// - Throws: Error
    public func form(request: Request) throws -> View {
        return try drop.view.make("Login/login", [
            "next": request.query?["next"]?.node ?? nil
        ], for: request)
    }
    
    
    /// Submit login
    ///
    /// - Parameter request: Request
    /// - Returns: Response
    /// - Throws: Error
    public func submit(request: Request) throws -> Response {
        
        // Guard credentials
        guard let username = request.data["email"]?.string, let password = request.data["password"]?.string else {
