Измените ваш звонок
x= Symmetrie(square_matrix[4][4]);
на
x= Symmetrie(&square_matrix[0][0]);
Лучший источник, который я нашел, здесь: http://www.leastprivilege.com/FinallyUsernamesOverTransportAuthenticationInWCF.aspx
Сайт также имеет тонны другой информации об установке HTTP-модулей для обработки стандартной аутентификации (который я предполагаю, что Вы будете использовать, так как это - вид стандарта).
Метод аутентификации HTTP-модуля расположен на Codeplex с примером кода и всем здесь: http://www.codeplex.com/CustomBasicAuth
Услуги передачи данных ADO.NET Вы имеете в виду?
Можно создать QueryInterceptor для объекта и ограничить доступ к нему. Например:
[QueryInterceptor("foo_entity")]
public Expression<Func<foo_entity, bool>> FilterMembership()
{
MembershipUser user = Membership.GetUser();
Guid userGuid = (Guid)user.ProviderUserKey;
return c => c.UserId == userGuid;
}