Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Vapor
- final class LoginController {
- func addRoutes(to drop: Droplet) {
- drop.post("login", adminLogin)
- drop.post("register", createAdmin)
- }
- func createAdmin(_ request: Request)throws -> ResponseRepresentable {
- guard let username = request.data["username"]?.string,
- let password = request.data["password"]?.string else {
- throw Abort.badRequest
- }
- let creds = UsernamePassword(username: username, password: password)
- var user = try User.register(credentials: creds)
- try user.save()
- return Response(redirect: "user/\(user.username)")
- }
- func adminLogin(_ request: Request)throws -> ResponseRepresentable {
- guard let username = request.data["username"]?.string,
- let password = request.data["password"]?.string else {
- throw Abort.badRequest
- }
- let credentils = UsernamePassword(username: username, password: password)
- do {
- try request.auth.login(credentils, persist: true)
- return Response(redirect: "/admin/new-post")
- } catch {
- return Response(redirect: "/login?succeded=false")
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement