Fixing an issue with output parameters that are of type IntPtr
[castle.git] / Samples / Castle / PetStore.Service / DefaultAuthenticationService.cs
blob348be308206230e4acd805424f83147eb0a7af96
1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace PetStore.Service
17 using System;
19 using PetStore.Model;
21 public class DefaultAuthenticationService : IAuthenticationService
23 private readonly IUserDataAccess userDataAccess;
25 public DefaultAuthenticationService(IUserDataAccess userDataAccess)
27 this.userDataAccess = userDataAccess;
30 public User Authenticate(String login, String password)
32 User user = userDataAccess.FindByLogin(login);
34 if (user == null)
36 throw new ServiceLayerException("User not found for login " + login);
39 if (user.Password != password)
41 throw new ServiceLayerException("Incorrect password");
44 return user;