Assigning and Removing Authority to a basketball.

High, I’m trying to make a game where the objects can be intractable between players. How can I go about this. I really want it so that when the trigger area around the ball touches a player that the player owns that object. Any answers. This is the last part of the game before release.

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;

public class ObjectAuthority : NetworkBehaviour {

private NetworkInstanceId netInstanceId;

public GameObject obj;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

	{
		if (!isLocalPlayer)
			return;

		if (Input.GetKeyDown (KeyCode.P))
		{
			Cmd_AssignLocalAuthority ();

		}

		if (Input.GetKeyDown (KeyCode.L))
		{

			Cmd_RemoveLocalAuthority ();
		}

	}

}

[Command]
void Cmd_AssignLocalAuthority () {
	NetworkInstanceId nIns = obj.GetComponent<NetworkIdentity> ().netId;
	GameObject client = NetworkServer.FindLocalObject (nIns);
	NetworkIdentity ni = client.GetComponent<NetworkIdentity> ();
	ni.AssignClientAuthority(connectionToClient);
}

[Command]
void Cmd_RemoveLocalAuthority () {
	NetworkInstanceId nIns = obj.GetComponent<NetworkIdentity> ().netId;
	GameObject client = NetworkServer.FindLocalObject (nIns);
	NetworkIdentity ni = client.GetComponent<NetworkIdentity> ();
	ni.RemoveClientAuthority (ni.clientAuthorityOwner);
}

}

Nobody knows. huh?